[python] 백준 1453번 피시방 알바알고리즘/백준2021. 9. 7. 23:35
Table of Contents
문제 요약 및 풀이
피시방 자리는 1번부터 100번까지 있다.
처음에는 모두 비어있고, 들어오는 손님은 자기가 앉고 싶은 자리에만 앉고 싶어 한다.
해당 자리에 사람이 있으면 거절당한다. 거절당한 사람 수 출력
표로 정리해보았다.
sit : 자리 번호 (1 ~ 100) | N : 손님의 수 | customer : 손님이 앉고 싶은 자리 |
cnt : 거절 당한 사람 수(누적) |
1 | 5 | 1 | 0 |
2 | 2 | 0 | |
3 | 3 | 0 | |
4 | 2 | 1 | |
5 | 3 | 2 | |
... |
이미 1, 2, 3번 자리에는 자리가 있으니... 나중에 들어온 4번째, 5번째 손님이 앉고 싶은 자리 2번, 3번을 못 앉게 된다.
그럼 출력 결과는 2가 나오게 된다.
아래의 코드를 보면 sit의 배열의 크기를 미리 101개를 만들어두었다.
자리는 1~100까지 있지만 배열의 index는 0부터 시작이라서 101개를 만들었다.
N = int(input())
customer = list(map(int, input().split()))
sit = [0 for j in range(101)]
cnt = 0
for i in customer:
if sit[i] == 0:
sit[i] = i
else:
cnt += 1
print(cnt)
'알고리즘 > 백준' 카테고리의 다른 글
[python] 백준 1075번 나누기 (0) | 2021.09.13 |
---|---|
[python] 백준 1977번 완전제곱수 (8) | 2021.09.09 |
[python] 백준 1357번 뒤집힌 덧셈 (2) | 2021.09.06 |
[python] 백준 20362번 유니대전 퀴즈쇼 (0) | 2021.09.05 |
[python] 백준 11179번 2진수 뒤집기 (2) | 2021.09.02 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊