๋ฌธ์
https://www.acmicpc.net/problem/13333
๋ด ๋ฌธ์ ํ์ด
n = int(input())
nums = list(map(int, input().split()))
nums.sort()
m = nums[-1]
q = 0
for i in reversed(range(1, m)):
tmp = list(filter(lambda x: x >= i, nums))
if len(tmp) >= i:
q = i
break
print(q)
๐ ์ ๋ ฌ ๋ฌธ์
์ด ๋ฌธ์ ๋ ํ์ด๋ ์ด๋ ต์ง ์์ง๋ง ๋ฌธ์ ์ง๋ฌธ ์์ฒด๊ฐ ์ด์ง ์ด์ํ๊ฒ ๋์จ ๊ฒ ๊ฐ๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง ๋ง ๊ทธ๋๋ก ํ์ด์ฃผ์๋๋ ์๊พธ ํ๋ ธ๋ค๊ณ ๋์๊ณ , ๋ค๋ฅด๊ฒ ํด์ํ์ฌ ํธ๋ ๋ฐ๋ก ๋ง์๋ค.
'ํ ํ์์ด ๋ฐํํ ์ด n ≥ 1 ํธ์ ๋ ผ๋ฌธ ์ค์์, k๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด kํธ ์ด์์ด๊ณ ๋๋จธ์ง n − k ํธ์ ๋ ผ๋ฌธ๋ค ์ธ์ฉํ์๊ฐ ๊ฐ๊ฐ k ๋ฒ ์ดํ๋ผ๋ฉด, ํด๋น ํ์์ q-์ธ๋ฑ์ค๋ k์ด๋ค.'
์ด ๋ถ๋ถ์
'ํ ํ์์ด ๋ฐํํ ์ด nํธ์ ๋ ผ๋ฌธ ์ค์์, k๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด kํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ๋ค์ ์ธ์ฉ ํ์๊ฐ k๋ฒ ์ดํ๋ผ๋ฉด, ํด๋น ํ์์ q-์ธ๋ฑ์ค๋ k์ด๋ค.'
์ด๋ ๊ฒ ๋ฐ๊ฟ์ค์ผ ๋ง๋ ๊ฒ ๊ฐ๋ค.
๋ฌธ์ ํ์ด
- ์ฃผ์ด์ง ์ธ์ฉ ํ์๋ค์ nums ๋ฆฌ์คํธ๋ก ๋ฐ์ ํ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๊ณ , ๊ทธ ์ค ์ ์ผ ํฐ ์๋ฅผ m์ ์ ์ฅํ๋ค.
- ๊ฐ์ฅ ํฐ ์ m๋ถํฐ 1๊น์ง ๊ฑฐ๊พธ๋ก ๋ฐ๋ณตํ๋ฉฐ i ์ด์์ ์๋ค์ ๋ด์ tmp ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ ,
tmp ๋ฆฌ์คํธ์ ํฌ๊ธฐ๊ฐ i ์ด์์ผ ๊ฒฝ์ฐ k๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด kํธ ์ด์์ด๋ผ๋ ์๋ฏธ์ด๋ฏ๋ก ์ข ๋ฃํ๋ค.
๐ก ํผ๋๋ฐฑ
- ๋ฌธ์ ์ดํด ์์ฒด๊ฐ ์ด๋ ค์ ๋ ๋ฌธ์ ๊ฐ๋ค.
- filter๋ฅผ ์ฌ์ฉํด์ฃผ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ๋ค.
'4๏ธโฃ Python > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python Algorithm] N๊ณผ M (2) BOJ #15650 (0) | 2022.02.15 |
---|---|
[Python Algorithm] N๊ณผ M (1) BOJ #15649 (0) | 2022.02.15 |
[Python Algorithm] ๊ณ๋จ ์ค๋ฅด๊ธฐ BOJ #2579 (0) | 2022.02.04 |
[Python Algorithm] ๋ ๋ฐ๋จน๊ธฐ Programmers(Lv.2) (0) | 2022.02.04 |
[Python Algorithm] N๊ฐ์ ์ต์๊ณต๋ฐฐ์ Programmers(Lv.2) (0) | 2022.02.04 |
๋๊ธ