목록Algorithm/백준 (11)
olrlobt

https://www.acmicpc.net/problem/12904 🔒 골드5 - #12904 A와 B 📌 테스트케이스 추가 힌트 B ABABABAB = 0 A A = 1 ABB AB = 0 ✍️ 풀이법 문제는 주어진 첫 번째 문자열을, 두 가지 규칙으로 두 번째 문자열로 만드는 것이므로, 간단하게 반대로 수행하는 것으로 해결하였다. 여기서 주의할 점은 예외를 찾는 부분이었다. 처음부터 성공하는 값이 들어오거나, 한 자릿수 값이 들어오거나, 첫 번째 문자열이 두 번째 문자열보다 크거나, 등등 예외를 잘 생각해서 처리해 주어야 한다. 따라서, 풀이법은 1. 두 번째 문자열을 뒤에서부터 A가 없을 때까지 A를 지운다. 2. B를 지우고, 문자열을 뒤집는다. 3. 위의 과정을 반복하여, 첫 번째 문자열보다 같..

https://www.acmicpc.net/problem/2212 🔒 골드5 - #2212 센서 📌 테스트케이스 추가 힌트 6 2 1 6 3 3 4 3 = 3 9 3 1 3 5 5 8 9 10 11 16 = 7 ✍️ 풀이법 문제를 보자마자, 정렬은 해 놓아야 한다고 생각했다. 그 후, 임의로 몇 개의 테스트케이스를 만들면서 푸는 방법을 생각해 보았다. 먼저 첫번째 테스트 케이스 6 2 1 6 3 3 4 3 = 3 이해를 위해 그림으로 나타내면 다음 사진과 같고, 집중국 2개가 위치해야 될 곳은 다음 사진과 같다. 위 그림을 보면 알 수 있는 것은 A) 집중국은 센서 위에 위치해야 한다. - 센서 위에 있어야 하나의 센서라도 감지 영역을 0으로 만들 수 있다. B) 집중국의 개수대로 센서 뭉텅이가 생긴다...
🔒 골드4 - #14500 테트로미노 https://www.acmicpc.net/problem/14500 ✍️ 풀이법 해당문제는 간단하게 해석하자면, 4개의 붙어있는 숫자들의 합이 가장 큰 값을 찾는 문제였다. 모든 경우의 수를 다 돌아야 답을 구할 수 있기 때문에 DFS를 사용하였으며, 시작 좌표에서부터 DFS를 시작하기 때문에, 배열을 복사해서 넘겨주면서 풀었다. 풀이는 간단히 처음 시작한 자리에서 오른쪽 > 아래쪽 > 왼쪽 순으로 검증을 진행하면 풀겠다고 판단하여, 바로 풀이를 진행했다. 하지만, 테스트케이스 3번의 예제처럼 ㅏ ㅓ ㅗ ㅜ 의 경우에 대한 생각을 못한 풀이법이었고, 3번의 경우를 해결하기 위하여 solve() 하단부분의 if 문으로 깔끔하지는 못하게 해결한 문제였다. 🗝️ 풀이 im..