Skip to content

Latest commit

Β 

History

History
71 lines (52 loc) Β· 1.88 KB

2019-05-19-AT-set_seat.md

File metadata and controls

71 lines (52 loc) Β· 1.88 KB

2019λ…„ 5μ›” 19일

λ°±μ€€ 5176 - λŒ€νšŒ 자리 {docsify-ignore-all}

좜처: https://www.acmicpc.net/problem/5176

문제

이번 ACM-ICPC λŒ€νšŒμ˜ μžλ¦¬λŠ” μ°Έκ°€μžλ“€μ΄ 직접 μ •ν•œλ‹€. μ°Έκ°€μžλ“€μ€ μ˜ˆλΉ„ μ†Œμ§‘μΌμ— μžμ‹ μ΄ μ›ν•˜λŠ” 자리λ₯Ό 미리 μ •ν•΄λ†“μ•˜κ³ , λŒ€νšŒ 당일에 μ–΄μ œ 적어놓은 μžλ¦¬μ— μ•‰μœΌλ©΄ λœλ‹€. μ—¬λŸ¬λͺ…이 같은 자리λ₯Ό 적어논 κ²½μš°μ—λŠ”, λ¨Όμ € λ„μ°©ν•œ μ‚¬λžŒμ΄ κ·Έ μžλ¦¬μ— μ•‰κ²Œλ˜κ³ , 앉지 λͺ»ν•œ μ‚¬λžŒμ€ λŒ€νšŒμ— μ°Έκ°€ν•  수 μ—†λ‹€.

각 μ‚¬λžŒμ΄ μ„ ν˜Έν•˜λŠ” μžλ¦¬κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, λŒ€νšŒμ— μ°Έκ°€ν•˜μ§€ λͺ»ν•˜λŠ” μ‚¬λžŒμ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Kκ°€ 주어진닀. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” λ‹€μŒκ³Ό 같이 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

첫째 쀄에 μ°Έκ°€μžμ˜ 수 P와 자리의 수 M이 주어진닀. (1 ≀ P, M ≀ 500) λ‹€μŒ P개 μ€„μ—λŠ” 각 μ°Έκ°€μžκ°€ μ›ν•˜λŠ” μžλ¦¬κ°€ 주어진닀. μžλ¦¬λŠ” 1λ²ˆλΆ€ν„° Mλ²ˆκΉŒμ§€ μžˆλ‹€. μž…λ ₯으둜 μ£Όμ–΄μ§€λŠ” μˆœμ„œλŠ” μ°Έκ°€μžκ°€ λ„μ°©ν•˜λŠ” μˆœμ„œμ΄λ‹€.

좜λ ₯

각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ— λŒ€ν•΄μ„œ, λŒ€νšŒμ— μ°Έκ°€ν•˜μ§€ λͺ»ν•˜λŠ” μ‚¬λžŒμ˜ 수λ₯Ό 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯

3
4 1
1
1
1
1
4 4
1
2
3
4
4 4
1
4
1
4

예제 좜λ ₯

3
0
2

λ‚΄ 풀이 : set 이용

import sys
t = int(input())

for _ in range(t):
    s = set()
    people, seat = map(int, sys.stdin.readline().split())
    for _ in range(people):
        seat_number = int(sys.stdin.readline())
        s.add(seat_number)
    print(people - len(s))

λŠλ‚€μ 

  • 쀑볡 μ œκ±°ν•˜λŠ” λ¬Έμ œμ—μ„œ 파이썬 λ‚΄μž₯ ν•¨μˆ˜μΈ set 을 잘 ν™œμš©ν•˜μž. 맀우 μ’‹λ‹€.
  • 이번 λ¬Έμ œμ—μ„œ 파이썬 λ¬Έμ œν’€μ΄ λž­ν‚Ή 1등을 ν–ˆλ‹€. 두 번째 1등인데 top3에 였λ₯Ό λ•Œλ§ˆλ‹€ 기뢄이 μ’‹λ‹€ γ…Žγ…Ž

boj_5176_ranking