최종코드(코드링크)
C = int(input())
M = list(map(int, input().split()))
if M[0] != 1:
print(-1)
exit(0)
visit = [0] * (C + 1)
res = []
benum = 0
for num in M:
if num > C:
print(-1)
exit(0)
if num < benum:
visit[num] += 1
res.append(str(visit[num]))
else:
if num > benum: visit[num] = 0
visit[num] += 1
res.append(str(visit[num]))
benum = num
print(" ".join(res))
이미지만 잘 봐도 문제를 이해하는데 도움이 되는데요,
왼쪽이 기호 형태, 오른쪽이 번호 형태입니다.
즉, 왼쪽의 형태를 오른쪽의 형태로 변형해서 출력해야하는 문제입니다:)
'알고리즘 문제 풀이' 카테고리의 다른 글
[백준 - Python] 13549. 숨바꼭질 3 (0) | 2024.10.15 |
---|---|
[백준 - Python] 11725. 트리의 부모 찾기 (0) | 2024.10.14 |
[백준 - Python] 27966. △ (0) | 2024.10.11 |
[백준 - Python] 14244. 트리 만들기 (0) | 2024.09.24 |
[백준 - Python] 1238. 파티 (0) | 2024.09.03 |