๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[Python ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฐพ์•„๋ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋งˆ์—์Šคํ„ฐ > ํฐ์ผ“๋ชฌ

by Vada Kim 2021. 5. 3.
728x90
๋ฐ˜์‘ํ˜•

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

 

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

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

programmers.co.kr

 

 

def solution(nums):
    num = len(nums)//2 #๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ ์ˆ˜
    answerlist = [e for i,e in enumerate(nums) if nums.index(e) == i]
    return len(answerlist) > num and num or len(answerlist)

ํฌ์ผ“๋ชฌ ์ˆ˜//2 ์ดํ•˜ ๋‚ด์—์„œ ๊ฐ€์žฅ ๋งŽ์€ ์ข…๋ฅ˜์˜ ํฌ์ผ“๋ชฌ์„ ๊ฐ€์ ธ๊ฐˆ ๋•Œ ๊ทธ ์ข…๋ฅ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์ค‘๋ณต์ œ๊ฑฐ๋ฅผ ํ–ˆ๋‹ค. => answerlist

์ด๋•Œ ํฌ์ผ“๋ชฌ ์ˆ˜//2 ์ดํ•˜์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ answerlist ๊ธธ์ด๊ฐ€ (ํฌ์ผ“๋ชฌ ์ˆ˜//2)๋ณด๋‹ค ํฌ๋ฉด ๋Œ€์‹  (ํฌ์ผ“๋ชฌ ์ˆ˜//2)์„ return ํ–ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•