https://school.programmers.co.kr/learn/courses/30/lessons/1845
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
def solution(nums):
# ํฌ์ผ๋ชฌ์ ์ข
๋ฅ์ด ์๋ฅผ ์ผ๋ค.
unique_types = len(set(nums))
# ์ ํํ ์ ์๋ ์ต๋ ๋ง๋ฆฌ์ ์๋ N/2 ์
๋๋ค.
max_selectable = len(nums)/2
# ์ต๋๋ก ์ ํํ ์ ์๋ ํฌ์ผ๋ชฌ ์ข
๋ฅ์ ์๋ฅผ ๋ฐํํฉ๋๋ค.
return min(unique_types,max_selectable)
# ์์ ํ
์คํธ
print(solution([3, 1, 2, 3])) # ์ถ๋ ฅ: 2
print(solution([3, 3, 3, 2, 2, 4])) # ์ถ๋ ฅ: 3
print(solution([3, 3, 3, 2, 2, 2])) # ์ถ๋ ฅ: 2
1. ์ค๋ณต ์ ๊ฑฐ :
set(nums) ๋ฅผ ์ฌ์ฉํ์ฌ nums ์์ ์ค๋ณต๋ ํฌ์ผ๋ชฌ ๋ฒํธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
set() ์ ํด์ ํ ์ด๋ธ ์ฌ์ฉํ๋ฏ๋ก ์ค๋ณต ์ ๊ฑฐ๊ฐ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ด๋ฃจ์ด์ง๋๋ค.
[3, 3, 3, 2, 2, 4] ์ผ ๊ฒฝ์ฐ set ํจ์๋ฅผ ์ฌ์ฉํ์ฌ 3 2 4 ๊ฐ ๋๋๊ฑฐ์ฃ .
๊ทธ๋์ len() ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด 3!
unique_types ๋ ๊ณ ์ ํ ํฌ์ผ๋ชฌ ์ข ๋ฅ์ ์๋ฅผ ์ ์ฅํฉ๋๋ค.
2. ์ต๋ ์ ํ ๊ฐ๋ฅ ์ ๊ณ์ฐ
max_selectable = len(nums) // 2 ๋ฅผ ํตํด ์ ํํ ์ ์๋ ์ต๋ ํฌ์ผ๋ชฌ ๋ง๋ฆฌ ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
3. ์ต๋ ์ข ๋ฅ ๋ฐํ
๋ฌธ์ ์์ ์ํ๋ ์๊ตฌ์ฌํญ์ธ ์ต๋ ์ข ๋ฅ์ ์๋ฅผ ๋ฐํ ํ๋๊ฑฐ์ฃ .
min(unique_types, max_selectable)๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ ํ ํฐ์ผ๋ชฌ ์ข ๋ฅ์ ์์ ์ ํํ ์ ์๋ ์ต๋ ๋ง๋ฆฌ ์ ์ค ์์ ๊ฐ์ ๋ฐํํฉ๋๋ค. ์ด๋ ๋ค์ํ ์ข ๋ฅ์ ํฐ์ผ๋ชฌ์ ์ต๋ํ ์ ํํ ์ ์๋๋ก ํฉ๋๋ค.
'์๊ณ ๋ฆฌ์ฆ ๐ก > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ๋ฒํธ ๋ชฉ๋ก_ํ์ด์ฌ ํ์ด (0) | 2024.06.12 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ python (0) | 2024.06.12 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์ _ ํ์ด์ฌ (0) | 2024.06.11 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ python (0) | 2024.06.11 |
ํ๊ท ์ผ์ผ ๋์ฌ ์๊ธ ๊ตฌํ๊ธฐ (0) | 2023.11.19 |