Algorithm283 [BOJ]15683번: 감시 문제: https://www.acmicpc.net/problem/15683 시뮬레이션 문제입니다. 하나의 CCTV가 감시하는 방향은 4방향이고, 최대 8개의 CCTV가 있으므로 CCTV를 셋팅하는 경우의 수는 4^8입니다. 1. CCTV를 셋팅하는 경우의 수 만들기 2. (여러 경우의 수 중 하나의 케이스에 대해) CCTV를 쏴서 없어지는 빈 칸 갯수 COUNTING 구현을 단순하게 하기 위해서 CCTV를 쏘는 로직(func 메서드)은 오직 한 방향으로 쏘는 것만 구현했습니다. 그 후에 func 메서드를 여러 번 호출함으로써 두 방향, 세 방향, 네 방향을 탐색하는 경우를 처리했습니다. 코드: https://github.com/cottory/algorithm/blob/master/BOJ/BOJ15683.cc 2020. 7. 17. [BOJ]17090번: 미로 탈출하기 문제: https://www.acmicpc.net/problem/17090 TOP-DOWN 방식 DP로 풀고 시간초과가 나서 다르게 접근한 문제입니다. 문제가 되는 상황은 싸이클이 발생하는 상황을 어떻게 처리하느냐입니다. 해결 방법은 1. 기저사례 칸 좌표를 모두 큐에 넣습니다. 기저사례 칸이라 함은 현재 칸에서 주어진 방향으로 점프하면 밖으로 나가는 좌표를 의미합니다. 2. 큐에 들어가 있는 좌표에서 인접한 UDLR 방향 네 개의 좌표를 탐색합니다. 인접한 좌표 중에, 인접한 좌표 -> 기저 사례 칸으로 점프하는 인접한 좌표를 새로 큐에 넣습니다. (이 인접한 좌표가 다시 기저 사례 칸이 되는 방식입니다.) 3. BFS방식으로 방문 표시를 하면서 2번을 반복하며 기저 사례칸과 연결되는 모든 칸을 세주면.. 2020. 7. 16. [BOJ]16637번: 괄호 추가하기 문제: https://www.acmicpc.net/problem/16637 시뮬레이션 문제입니다. 저는 nCr combination 코드를 통해 괄호를 만들 수 있는 경우의 수를 생성해주었습니다. 두 가지 유의할 점이 있습니다. 1. 최대값이 음수가 나올 수 있다는 점 2. 계산 중간에 INT 범위를 넘어갈 수 있다는 점 코드: https://github.com/cottory/algorithm/blob/master/BOJ/BOJ16637.cc 2020. 7. 15. [코딩테스트 연습] 베스트 앨범 문제: https://programmers.co.kr/learn/courses/30/lessons/42579 주어진 자료를 어떻게 (장르, 재생횟수, 고유번호)로 파싱해서 정렬하냐의 문제입니다. 문제를 해결한 순서는 아래와 같습니다. 1. 장르별 총 재생횟수 카운팅 후 장르를 내림차순 정렬 2. 1번 과정을 통해 장르의 우선순위를 알았으니 vector plays의 players[idx]값과 idx를 활용하여 (장르, 재생횟수, 고유번호)로 소팅 3. 장르마다 최대 2회까지만 재생해야하므로 streamingCnt라는 배열을 선언해 장르별 재생횟수 관리 코드: https://github.com/cottory/algorithm/blob/master/PROGRAMMERS/PG42579.cc 2020. 7. 14. 이전 1 ··· 46 47 48 49 50 51 52 ··· 71 다음