Algorithm/백준

[백준 알고리즘] 1263번: 시간 관리 (Python)

에릭 Kim 2023. 8. 9. 14:26
반응형

https://www.acmicpc.net/problem/1263

 

1263번: 시간 관리

진영이는 캠프 조교를 온 후 효율적으로 시간 관리를 해야 한다는 것을 깨달았다. 진영이는 하루에 해야 할 일이 총 N개가 있고 이 일들을 편하게 1번부터 N번까지 차례대로 번호를 붙였다. 진영

www.acmicpc.net

 

소스코드

 

풀이

★ 값을 출력할 때 start변수에 -1을 해주는 이유는 반복문에서 일을 시작하는 시각인 start가 +1이 되어 나오기 때문입니다.

 

주어진 예제를 예로들면,

4

3 5

8 14

5 20

1 16

 

입력받은 값의 두번째 수를 기준으로 오름차순 정렬하면 

[3,5], [8,14], [1,16], [5,20] 과 같이 나오게 됩니다.

 

이 상태에서 반복문을 실행시키면 time 변수는 0 -> 1 -> 2 -> 3으로 변하게 됩니다. 그 이유는 time 변수가 2일때까지는 for 반복문의 break에 걸리지 않습니다. time 변수에는 3이 들어가고, 3이 들어갔을 때 for 반복문에서 break가 걸리게 됩니다 ! 

 

결과적으로 time변수는 start의 값을 받아온 것이기 때문에 start에도 정답보다 1이 큰 3이 들어가있게 됩니다.

 

그렇기에 답을 출력할 때 start - 1한 값을 기준으로 -1을 출력할 지, start  - 1을 출력할지 결정해줘야 합니다 :) 

 

 

반응형