본문 바로가기

구현3

[개쉬운 풀이] 백준 3197 백조의 호수 CPP (21일차) https://www.acmicpc.net/problem/3197 문제 생각1. 먼저 호수의 영역을 숫자로 표현하여 구분한다.2. 물에 닿은 영역을 set을 활용하여 저장한다. (중복 방지)3. for문을 활용하여 set의 영역을 물로 만들고 다음 날 바뀔 영역들을 저장한다.4. 이때 백조들도 물 취급을 해준다.5. 백조들의 현재 영역을 비교하면서 반복한다. 어려웠던 점1. 영역을 처음에는 dfs를 통해 계속 숫자를 바꿔주려고 했지만, 시간초과에 직면하였다.2. 따라서 union find와 비슷하게 루트 영역을 만들어서 호수의 영역끼리 만나면 merge하였다.3. 백조도 물 취급을 해서 백조 위치의 영역도 생각해주어야 한다.4. melting()이 진행되기 전에, 다음 날 녹을 얼음들을 저장하면서 are.. 2024. 12. 13.
[개쉬운 풀이] 백준 15683 감시 CPP (11일차) 문제https://www.acmicpc.net/problem/15683 생각1. 먼저, CCTV의 최대 갯수가 8개 이므로 각각의 CCTV 방향을 모두 고려해서 해결해야하는 완전탐색 문제이다.2. 여기서 CCTV가 감지한 부분을 처음에는 단순하게 #처리 하려고 했지만, 백트래킹하는 과정에서 #이 겹치고 삭제되면서 오류가 발생할 수 있다는 것을 인지하였다.3. 따라서 isVisited를 통해 +1과 -1을 하는 방식으로 진행하였다.4. CCTV는 CCTV를 통과할 수 있으며, CCTV는 일직선으로 탐지하고 각 타입에 따라 방향이 다르다.5. 즉, 일직선으로 탐지하는 코드 하나에 각 타입별로 탐지 코드를 넣어서 작성하였다.6. 마지막 출력을 진행할때, isVisited가 0이고 map에서 0인 부분을 cou.. 2024. 12. 2.
[개쉬운 풀이] 백준 1205 등수 구하기 https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 문제 태수가 즐겨하는 디제이맥스 게임은 각각의 노래마다 랭킹 리스트가 있다. 이것은 매번 게임할 때 마다 얻는 점수가 비오름차순으로 저장되어 있는 것이다. 이 랭킹 리스트의 등수는 보통 위에서부터 몇 번째 있는 점수인지로 결정한다. 하지만, 같은 점수가 있을 때는 그러한 점수의 등수 중에 가장 작은 등수가 된다. 예를 들어 랭킹 리스트가 100, 90, 90, 80일 .. 2024. 3. 11.