< 문제 >
< 입출력 >
< 풀이 >
지나야 할 코스를 출력하는 것이므로 다음 코스를 더했을때 K 값보다 큰 경우 해당 코스를 출력하는 방식으로 생각했다.
K가 N번째 코스에 도착하기 전에 (N번 코스를 찍고 다시 돌아오기 전에) K값보다 커지는 경우와, N번째에서 다시 돌아와야 하는 두 경우로 생각했다.
결과 값은 배열 인덱스를 통해 계산한 했으므로 + 1 해주면 된다.
< 코드 >
import sys
dist = 0
result = 1
N, K = map(int, input().split())
arr = list(map(int, input().split()))
for i in range(N):
result = i
dist += arr[i]
if dist > K:
break
if dist < K:
for j in range(N):
result = N - j - 1
dist += arr[result]
if dist > K:
break
print(result + 1)
'코딩 테스트 > 구현' 카테고리의 다른 글
[백준 19237번] 어른 상어 문제 풀이 (0) | 2023.11.06 |
---|---|
[백준 2469번] 사다리 타기 문제 풀이 (with python) (0) | 2023.08.17 |
[백준 17413번] 단어 뒤집기 2 (0) | 2023.08.15 |
댓글