본문 바로가기
CS/알고리즘 & 문제풀이

[Python] 백준 13335 트럭

by mintropy 2022. 3. 21.

문제 링크 : https://www.acmicpc.net/problem/13335

 

13335번: 트럭

입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트

www.acmicpc.net

 

1. 접근 방법

queue를 활용하여 쉽게 해결할 수 있는 문제. 리스트를 활용한다면, 슬라이싱으로 유사하게 구현할 수 있을 것 같다.

 

2. 풀이 코드

🖥python 코드 링크 : https://github.com/mintropy/baekjoon_py/blob/master/13000/13335.py

 

GitHub - mintropy/baekjoon_py: BOJ를 Python으로 해결한 코드의 저장소입니다.

BOJ를 Python으로 해결한 코드의 저장소입니다. Contribute to mintropy/baekjoon_py development by creating an account on GitHub.

github.com

📕코드 해설

처음에는 한 번에 여러 스탭(시간)을 건너 뛸 수 있으면 건너뛰는 방향으로 구현해보려다, 잘 안 맞는 부분들이 발생하여, 시간은 조금 더 걸리지만 단위 시간만큼 진행을 했다.

Python의 collections.deque에는 재미있는 기능이 하는 있는데, rotate다. 한 번 제대로 다루면 좋을 것 같은 주제인데, 이를 활용하면 popleft > append, pop > appendleft를 한 번에 처리할 수 있다. 이를 통하여 도착할 수 있는 트럭은 빼고, 나머지 차량이 전진하도록 설계했다.

 

3. 생각 정리

빠른 코드 구현도 좋지만, 무엇보다 정확한 코드가 중요하다.

안되면 조금 돌아가고, 된다면 조금 더 나아가도 좋을 것 같다.

댓글