반응형
문제
https://www.acmicpc.net/problem/9019
풀이
이 문제는 BFS로 풀 수 있는 문제입니다.
A에서 B로 변환하는 4가지 과정에 대해 모두 수행해서 최소의 연산을 출력해주는 문제입니다.
저는 DSLR 연산을 Int의 extension으로 작성을 하였습니다.
BFS를 수행하면서, queue에 명령어를 String으로 넣어줬는데 시간초과 판정을 받았습니다.
String 값을 더해주는 것도 $O(1)$이지만, 일반적으로 정수 덧셈 연산 보다는 느리기 때문에 시간초과 판정을 받은 것 같습니다.
정수를 더하는 방식으로 변경하므로써 해결할 수 있었습니다.
1, 2, 3, 4를 "D", "S", "L", "R" 값과 1대1로 대응시켜주었고,
A가 B로 변환되었다면 정수 숫자를 1자리씩 확인하면서, String 명령어로 변환하여 출력해주었습니다.
소스코드
후기
BFS로 풀이하는 것은 어렵지 않았는데 시간초과 판정을 받아서 어떤 이유일지 몰라서, 다른 분들의 풀이를 참고하여 풀었던 문제였습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 11780 플로이드 2 (Swift) (0) | 2023.05.15 |
---|---|
[BOJ] 백준 11779 최소비용 구하기 2 (Swift) (1) | 2023.05.15 |
[BOJ] 백준 13913 숨바꼭질 4 (Swift) (0) | 2023.05.10 |
[BOJ] 백준 9252 LCS 2 (Swift) (0) | 2023.05.04 |
[BOJ] 백준 14003 가장 긴 증가하는 부분 수열 5 (Swift) (0) | 2023.05.04 |