풀이
n번의 관찰 속에서 소의 번호와 위치가 주어질 때 소들이 총 몇번 길을 건넜는 지 알아내는 문제이다.
각 소들의 숫자와 위치를 2차원 배열에 저장해준다.
소들의 숫자는 인덱스로 구분되며 [-1, 0] 로 초기화한다.
처음 관측이 된 소는 [관측된 위치, 이동횟수] 로 바뀌게된다.
다음 관측된 위치가 기존 관측된 위치와 다를 경우 이동횟수 +1 을 해준다.
모든 관측이 끝난 후 소들의 위치값을 저장해 둔 리스트의 합을 출력해준다.
소스코드
# 소가 길을 건너간 이유 1
import sys
input = sys.stdin.readline
cow = [[-1]*10, [0]*10]
for _ in range(int(input())):
n, d = map(int, input().split())
if cow[0][n-1] == -1:
cow[0][n-1] = d
continue
if cow[0][n-1] != d:
cow[0][n-1] = d
cow[1][n-1] += 1
continue
print(sum(cow[1]))