[백준 16953] A -> B (Swift)
https://www.acmicpc.net/problem/16953 BFS정수 A, B (예, 2, 162) 가 주어지면, A에서 B가 되기까지 두가지 연산을 수행할 수 있다고 할 때, 최소 몇번 수행해야 되는지 출력하는 문제, 불가능하면 -1 출력 접근방법BFS나 DFS 완전탐색 문제 풀이할 때는 늘 갈 수 있는 경로 를 생각하면서 푸는데, 이게 문제가 격자판에서 어쩌구 할 경우에는 갈 수 있는 칸이 되고, 지금 문제같은 경우는 가능한 연산 두가지가 된다. 현재 갖고 있는 수에서 2를 곱하는 길 or 1을 가장 오른쪽에 붙이는 길 B까지 도달하는 최단 거리를 구하는 거니까 BFS가 더 효율적인 것 같아서 큐를 사용해서 풀었다.큐의 원소는 두개의 Int를 갖는 튜플로, 첫번째 수는 현재 수, 두번째 수는..
2025. 3. 24.
[백준 6987] 월드컵 (Swift)
https://www.acmicpc.net/problem/6987Simulation + DFS6개국이 서로 한번씩 경기한다고 했을 때, 경기결과를 각 나라마다 승,무,패 횟수로 정리한 표를 보고가능한 결과인지 아닌지 판단하는 문제 접근방법처음에 브루트포스, 백트래킹이라고 써있어서 접근하기 너무 어렵다가나라별로 경기를 치르는 대진의 총 개수가 15개 라는 것을 보고한 경기의 대진을 ( A , B ) 라고 했을 때 15개의 모든 경우를 배열로 저장했다. [(1,2),(1,3),....,(5,6)] 이런식으로그리고 이제 한 경기를 하나의 노드라고 보고 dfs 탐색을 진행하면서각 노드 마다 뻗어나가는 가지는 A>B, A=B, A 세가지가 있을 수 있다고 생각하고 모든 경우를 완전탐색하는 것 그러면 모든 경기의 ..
2025. 3. 20.