본문 바로가기

알고리즘 문제풀이/알고리즘 C++ 풀이

[백준] 9019번: DSLR (C++ 풀이)

문제 https://www.acmicpc.net/problem/9019

풀이

BFS로 D, S, L, R에 대해 탐색하고 찾으려는 값이 제일 처음 나오는 것이 그 값을 찾는 가장 빠른 방법이다. 

주의해야할 점이 자리수 관련해서 문제이해를 초반에 못했었는데,

1을 L하면 10이 되고, R하면 1000이 된다. 마찬가지로 11을 L하면 110이 되고, R하면 1001이 된다. 세자리수도 마찬가지이다.

그리고 나는 큐에 지나온 경로를 string으로 저장했었는데 이 과정에서 string 복사가 시간을 많이 잡아먹었다.

string복사를 줄이고 나니 시간초과에 걸리지 않았다.

 

코드 https://github.com/ziwonii24/Algorithm/blob/master/Baekjoon/9019.cpp

결과