코드포스 풀이

코드포스 339B 풀이

ag2개발자 2022. 1. 31. 19:04
n,m=map(int,input().split())
arr= list(map(int,input().split()))
hap=arr[0]-1
for i in range(len(arr)-1):
    if arr[i]<=arr[i+1]:
        hap+=arr[i+1]-arr[i]
    else:
        hap+=n-arr[i]+arr[i+1]
print(hap)

n개의 집이 시계방향으로 있을때, 시계방향으로 순차적으로 돌면서 인풋으로 받은 집들을 순회하면서 걸리는 총 이동을 구하는 문제이다.

먼저 arr의 길이의 -1한만큼 돌린다.(i번째와 i+1번쨰를 비교할 것이기 때문)

총 이동을 뜻하는 hap변수를 arr의 i번째 인덱스 값보다 i+1번쨰 값이 같거나 클떄는 그냥 그 차이만큼 더해주면 된다.

하지만 반대라면 n-arr[i]만큼 움직인뒤에 arr[i+1]만큼 또 움직여줘야한다.

'코드포스 풀이' 카테고리의 다른 글

코드포스 1512a 파이썬 풀이  (0) 2022.04.11
코드포스 1633B 풀이  (0) 2022.02.01
코드포스 230A 풀이  (0) 2022.01.31
코드포스 131A 풀이  (0) 2022.01.31
코드포스 344A 풀이  (0) 2022.01.31