๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿค– ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

#ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒŒ์ด์ฌ Lv.1 #ํฐ์ผ“๋ชฌ

๋ฌธ์ œ์„ค๋ช…
: ๋‹น์‹ ์€ ์ตœ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์„ ๊ฐ€์ง€๊ธธ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์„ ํฌํ•จํ•ด์„œ N/2๋งˆ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. N๋งˆ๋ฆฌ ํฐ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด nums๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, N/2๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘, ๊ฐ€์žฅ ๋งŽ์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„, ๊ทธ๋•Œ์˜ ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜ ๋ฒˆํ˜ธ์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑ

๋ฌธ์ œํ’€์ด

  1. ๊ธธ์ด์˜ ๋ฐ˜์ด ๋˜๋Š” ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋Š” ํฐ์ผ“๋ชฌ์˜ ์ˆ˜ n๊ฐœ๋กœ ์ฃผ๊ณ 
  2. set ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ค‘๋ณต๋˜์ง€ ์•Š์€ ํฐ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜๋ฅผ ๊ตฌํ•˜๊ณ  len ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ทธ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค
  3. ๊ณจ๋ผ์•ผ ํ•˜๋Š” ํฐ์ผ“๋ชฌ์˜ ์ˆ˜(nums์˜ ์›์†Œ ๊ฐœ์ˆ˜/2)๊ฐ€ ์ค‘๋ณต๋˜์ง€ ์•Š์€ ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜์˜ ์ˆ˜๋ณด๋‹ค ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š์€ ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜์˜ ์ˆ˜๋ฅผ
  4. ๊ทธ์™ธ์—๋Š” ๊ณจ๋ผ์•ผ ํ•˜๋Š” ํฐ์ผ“๋ชฌ์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
def solution(nums):
    answer = 0
    n = len(nums)//2
    ponketmon = list(set(nums))
    if len(ponketmon) > n:
        answer = n
    else:
        answer=len(ponketmon)
    return answer

 

#๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ฝ”๋“œ

def solution(ls):
    return min(len(ls)/2, len(set(ls)))

์ด๊ฒŒ..๋˜๋„ค..?

 

https://programmers.co.kr/learn/courses/30/lessons/1845

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํฐ์ผ“๋ชฌ

๋‹น์‹ ์€ ํฐ์ผ“๋ชฌ์„ ์žก๊ธฐ ์œ„ํ•œ ์˜ค๋žœ ์—ฌํ–‰ ๋์—, ํ™ ๋ฐ•์‚ฌ๋‹˜์˜ ์—ฐ๊ตฌ์‹ค์— ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™ ๋ฐ•์‚ฌ๋‹˜์€ ๋‹น์‹ ์—๊ฒŒ ์ž์‹ ์˜ ์—ฐ๊ตฌ์‹ค์— ์žˆ๋Š” ์ด N ๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ ์ค‘์—์„œ N/2๋งˆ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ์ข‹๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.

programmers.co.kr