반응형
[문제 출처]
https://www.acmicpc.net/problem/14467
14467번: 소가 길을 건너간 이유 1
3번 소는 위치 1, 0, 1에서 관찰되었으므로 길을 최소 두 번 건넜음을 확인할 수 있다. 4번 소도 길을 한 번 건넜으며, 나머지 소는 길을 건넌 기록이 확인되지 않는다.
www.acmicpc.net
[문제 풀이]
현재 소의 위치를 나타내는 리스트인 now와
각 소별로 몇 번 건넜는지 횟수를 저장하는 리스트 cows를 사용한다.
now를 처음엔 -1로 초기화하고 입력을 받았을 때 -1이 아닌 경우 현재 값과 입력받은 값이 다르다면 소가 길을 건넌 것으로 간주한다.
출력은 모든 소가 길을 건넌 수를 합친 값으로 한다.
import sys
input = sys.stdin.readline
n = int(input())
cows = [0 for _ in range(n+1)]
now = [-1 for _ in range(n+1)]
for i in range(n):
idx, loc = map(int, input().split())
if now[idx] == -1:
now[idx] = loc
elif now[idx] != loc:
cows[idx] += 1
now[idx] = loc
print(sum(cows))
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 2018 수들의 합 5 . (0) | 2022.07.26 |
---|---|
[python/파이썬] 백준 2798 블랙잭 (0) | 2022.07.25 |
[python/파이썬] 백준 4097 수익 (0) | 2022.07.22 |
[python/파이썬] 백준 17291 새끼치기 (0) | 2022.07.22 |
[python/파이썬] 백준 18353 병사 배치하기 (0) | 2022.07.21 |