https://www.acmicpc.net/problem/14467
이 문제는 아주 간단한 구현문제입니다.
처음에 다소 당황할 수 있겠지만
차근차근 풀다보면 풀어낼 수 있습니다.
소의 번호는
1~10까지 자연수이므로
저는 배열의 크기를 11로 선언했습니다.
배열은 0부터 들어가기 때무넹
11을 선언해서
0~10까지 선언이 됩니다.
어처피 맨 앞에 0은 안써도 되니 신경안써도 되고요.
저는 배열을 초기화할 때
-1로 초기화해줬습니다.
위치가 0,1로 이루어져있기 때문에
-1이 가장 적당해보였죠.
그 후, N을 받은 후 소의 위치를 파악하는데,
소의 번호에 위치저장 여부를 봅니다.
만약 위치저장이 안 되어있다면
지금 관찰한 위치를 넣으면 되고요.
만약 위치저장이 되있다면
현재 위치와 비교해서
다르다면 change를 1더해줍니다.
#백준 14467 소가 길을 건넌 이유
N=int(input())
cow_r=[-1]*11 #-1로 초기화
change=0
for i in range(N):
cow_n,rotate=map(int,input().split())
#만약 아직 위치선정x-->위치지정해주기
if cow_r[cow_n]==-1:
cow_r[cow_n]=rotate
#위치선정이 된 케이스라면
else:
if not cow_r[cow_n]==rotate:
change+=1
cow_r[cow_n]=rotate
print(change)
어려운 문제는 아니지만
배열을 어떻게 초기화할지 점검할 수 있는 문제입니다.
[백준 16926번] 배열돌리기1(python) (0) | 2022.06.09 |
---|---|
[백준 22858번] 원상복구(small) (python) (2) | 2022.06.07 |
[백준 17144번] 미세먼지 안녕!(파이썬) (0) | 2022.04.27 |
[백준20055번] 컨베이어 밸트위의 로봇(파이썬) (0) | 2022.04.24 |
[백준 14899번] 스타트와 링크(파이썬) (0) | 2022.04.24 |
댓글 영역