[πŸ₯‡ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”ν…Œ μ—°μŠ΅] Lv.0 μ΅œλΉˆκ°’ κ΅¬ν•˜κΈ°

μ•ˆμ§€μˆ˜Β·2023λ…„ 2μ›” 18일
0
post-custom-banner

πŸ“— 문제 μ„€λͺ…:

🎁 λ‚˜μ˜ μ½”λ“œμ™€ 풀이:

def solution(array):
    count_num=[0] * (max(array)+1)
    #λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œ κ²€μ‚¬ν•˜λ©΄μ„œ, κ·Έ μš”μ†Œμ— ν•΄λ‹Ήν•˜λŠ” μΈλ±μŠ€κ°’ 증가
    for i in array:
        count_num[i] +=1

    #κ°€μž₯ μ΅œλŒ“κ°’ μ €μž₯
    max_num = max(count_num)

    #μ΅œλŒ“κ°’μ— ν•΄λ‹Ήν•˜λŠ” 값이 2개 이상이면 return -1
    if(count_num.count(max_num)>1):
        return -1
    #그렇지 μ•ŠμœΌλ©΄, κ·Έκ²ƒμ˜ 인덱슀 λ°˜ν™˜
    else:
        return count_num.index(max_num)

-> 각 κ°’μ˜ 갯수λ₯Ό μ„ΈκΈ° μœ„ν•΄μ„œ, λ°˜λ³΅λ¬Έμ„ λŒλ©΄μ„œ 각 μš”μ†Œλ₯Ό λ§Œλ‚  λ•Œλ§ˆλ‹€ κ·Έ λ°°μ—΄μ˜ μš”μ†Œμ˜ 값을 1증가

λ§Œμ•½ μ΅œλŒ“κ°’μ΄ 2개 이상(즉, μ΅œλΉˆκ°’μ˜ μˆ˜κ°€ 같은 것이 2개 이상)이면 -1λ°˜ν™˜
-> 그렇지 μ•ŠμœΌλ©΄, κ·Έ μ΅œλŒ€ λΉˆλ„μ˜ 인덱슀 λ°˜ν™˜(μΈλ±μŠ€κ°€ 즉, μ΅œλΉˆκ°’μž„!!)

β­• λ‹€λ₯Έ μ‚¬λžŒλ“€μ˜ 풀이:

  • enumerate()ν•¨μˆ˜: μΈλ±μŠ€μ™€ μ›μ†Œ λ™μ‹œ μ ‘κ·Ό
  • remove()λŠ” 리슀트의 첫 번째 μš”μ†Œλ§Œ μ‚­μ œ!
    -> arrayμ—μ„œ μš”μ†Œμ˜ κ°―μˆ˜κ°€ 적은 것듀 λ¨Όμ € ν•˜λ‚˜μ”© μ‚­μ œλ˜κ³ , μ΅œλΉˆκ°’μ€ λ§ˆμ§€λ§‰κΉŒμ§€ λ‚¨κ²Œλ˜μ–΄ i=0으둜 μœ μ§€λœλ‹€. κ·ΈλŸ¬λ‚˜, 같은 μ΅œλΉˆκ°’μ˜ μš”μ†Œκ°€ μ—¬λŸ¬ 개인 κ²½μš°μ—λŠ” i>0이 λ˜μ–΄, return -1을 ν•˜κ²Œ λœλ‹€.

πŸ‘ What I learned
& λ‚΄ ν’€μ΄μ—μ„œ, 각 μš”μ†Œμ˜ 개수λ₯Ό λ„£κΈ° μœ„ν•œ 리슀트 μƒμ„±μ—μ„œ λ¬Έμ œκ°€ μžˆμ—ˆμŒ. λ‹€μŒκ³Ό 같이 갯수λ₯Ό 지정해쀄 수 있음

profile
μ§€μˆ˜μ˜ μ·¨μ€€, 개발일기
post-custom-banner

0개의 λŒ“κΈ€