๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐˜ผ๐™ก๐™œ๐™ค๐™ง๐™ž๐™ฉ๐™๐™ข/๐™‹๐™ง๐™ค๐™œ๐™ง๐™–๐™ข๐™ข๐™š๐™ง๐™จ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค '์ตœ๋นˆ๊ฐ’ ๊ตฌํ•˜๊ธฐ' ํŒŒ์ด์ฌ ํ’€์ด

by beomcoder 2023. 2. 16.
728x90
๋ฐ˜์‘ํ˜•
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

"""
์ตœ๋นˆ๊ฐ’์€ ์ฃผ์–ด์ง„ ๊ฐ’ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ๋‚˜์˜ค๋Š” ๊ฐ’์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 
์ •์ˆ˜ ๋ฐฐ์—ด array๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ตœ๋นˆ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.
์ตœ๋นˆ๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด -1์„ return ํ•ฉ๋‹ˆ๋‹ค.
"""

# max_value๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค. 
# 0๋ฒˆ์งธ๋Š” array ๊ฐ’, 1๋ฒˆ์งธ๋Š” ๊ทธ ๊ฐ’์˜ ๊ฐœ์ˆ˜, 2๋ฒˆ์งธ๋Š” ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์€๊ฒŒ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ด๋‹ค.
# set(array)๋ฅผ ํ†ตํ•ด array ๊ฐ’๋“ค์„ 1๊ฐœ์”ฉ๋งŒ ์จ์„œ for๋ฌธ์„ ๋ˆ๋‹ค.
# v์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ €์žฅํ•œ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ณด๋‹ค ๋งŽ๋‹ค๋ฉด max_value๊ฐ’์„ ๊ณ ์ณ์ค€๋‹ค.
# v์˜ ๊ฐœ์ˆ˜์™€ max_value์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด 1์„ ์จ์ค€๋‹ค.

def solution(array):
    max_value = [-1, -1, 0]
    
    for v in set(array):
        v_count = array.count(v)

        if  v_count > max_value[1]:
            max_value = [v, array.count(v), 0]
        elif v_count == max_value[1]: 
            max_value[-1] = 1
    
    return -1 if max_value[-1] else max_value[0]
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€