๋ฌธ์ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/1845
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํฐ์ผ๋ชฌ
๋น์ ์ ํฐ์ผ๋ชฌ์ ์ก๊ธฐ ์ํ ์ค๋ ์ฌํ ๋์, ํ ๋ฐ์ฌ๋์ ์ฐ๊ตฌ์ค์ ๋์ฐฉํ์ต๋๋ค. ํ ๋ฐ์ฌ๋์ ๋น์ ์๊ฒ ์์ ์ ์ฐ๊ตฌ์ค์ ์๋ ์ด N ๋ง๋ฆฌ์ ํฐ์ผ๋ชฌ ์ค์์ N/2๋ง๋ฆฌ๋ฅผ ๊ฐ์ ธ๊ฐ๋ ์ข๋ค๊ณ ํ์ต๋๋ค.
programmers.co.kr
๋์ ํ์ด
- ํฐ์ผ๋ชฌ์ ์ค๋ณต๋๋ ๊ฐ์ ์์ ์ค ํ ๊ฐฏ์๋ฅผ ์ธ์ด์ค๋ค.
- ์ต์ข n๊ฐ์์ n/2๊ฐ์ ํฐ์ผ๋ชฌ์ ๊ฐ์ ธ๊ฐ ์ ์์ผ๋, n/2 ๊ฐ์ ๊ตฌํด์ค๋ค.
- ์์ ๋ ๊ฐ์ ๋น๊ตํ์ฌ ๋ช ์ข ๋ฅ๋ฅผ ๊ฐ์ ธ๊ฐ ์ ์๋์ง ์ดํด๋ณธ๋ค.
def solution(nums):
have = len(nums)/2
total = set(nums)
total_len = len(total)
if have > total_len:
answer = total_len
else:
answer = have
return answer
๋ค๋ฅธ์ฌ๋ํ์ด
๊ทธ๋ฅ min ์ฐ์ฐ์ ์ด์ฉํด์ ํผ ๋ฐฉ๋ฒ์ด ์ญ๋๊ธ์ผ๋ก ๊ฐ๋จํ๋ค.
def solution(ls):
return min(len(ls)/2, len(set(ls)))
์ฌ์ค ๋ฏ์ด๋ณด๋ฉด ๋ด๊ฐ ๊ตฌํ ๋ฐฉํฅ๊ณผ ๊ฐ์ ๋ฐฉํฅ์ด๋ค. ํด๋น๋ฐฉ๋ฒ์ ๋ณ์์ค์ ๋ ํ์ง์์์ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ๋ ์ข์ ๊ฒ์ด๊ณ ์ฝ๋๊ฐ ๊ธธ์ง ์์ ์๊ฐ๋ณต์ก๋๋ ์ข์ ๊ฒ์ด๋ค. ๋๋ if๋ฌธ์ ์ฌ์ฉํด์ ์์๊ฐ์ ๊ณจ๋ผ๋ด๋ ๋ฐฉ๋ฒ์ด ์๋ min์ ์ฌ์ฉํด์ ๋ณ์ ํ ๋น๋๋ ์ค์ด๊ณ , if๋ฌธ์ ์ฌ์ฉํ์ง ์๋ ๋ฐฉ๋ฒ์ ์์ฃผ ์ด์ฉํด๋ณด์์ผ ๊ฒ ๋ค.
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ตฌํ - ๋ฌธ์์ด ์์ถ (0) | 2021.09.01 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (level 1) (0) | 2021.08.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ์๋ฒ(greedy) - ์ฒด์ก๋ณต (0) | 2021.08.06 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ํด๋ฆฌ์ฑ๋ฆฐ์ง(1์ฃผ์ฐจ) - ๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ (0) | 2021.08.06 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ํ์ - ๋ชจ์๊ณ ์ฌ (feat. cycle ํจ์) (0) | 2021.08.04 |