λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Algorithm/Programmers

[Programmers] μœ„μž₯

 

 

μ½”λ“œ

 

def solution(arr):
    dict = {}
 
    for i in range(len(arr)):
        if arr[i][1] not in dict:
            dict[arr[i][1]] = [arr[i][0]]
        else:
            dict[arr[i][1]].append(arr[i][0])
    
    k = list(dict.values())
    cnt = 1
    for i in k:
        cnt *= len(i) + 1
    return cnt - 1
뢄석 > ν•΄μ‹œλ§΅μ„ λ§Œλ“œλŠ” κ²ƒκΉŒμ§€λŠ” ν–ˆλŠ”λ°, μ‘°ν•© 수λ₯Ό κ΅¬ν•˜λŠ” κ²ƒμ—μ„œ λ§‰ν˜”λ˜ λ¬Έμ œμ˜€λ‹€. κ·Έλž˜μ„œ κ΅¬κΈ€λ§μœΌλ‘œ 아이디어λ₯Ό μ–»μ—ˆλ‹€. 예λ₯Όλ“€μ–΄, λ°°μ—΄[[2,3,4],[1,0]] 이 μžˆλ‹€λ©΄ 첫번째 λ°°μ—΄ λ‚΄μ—μ„œ λ‚˜μ˜¬ 수 μžˆλŠ” μ‘°ν•©μ˜ μˆ˜λŠ” < 2λ₯Ό μ‚¬μš©, 3을 μ‚¬μš©, 4λ₯Ό μ‚¬μš©, 아무것도 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ > μ΄λ ‡κ²Œ 총 4가지 쑰합이 λ‚˜μ˜€κ³ , 두 번째 λ°°μ—΄μ—μ„œλŠ” <1을 μ‚¬μš©, 0을 μ‚¬μš©, 아무 것도 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ> μ΄λ ‡κ²Œ 총 3κ°€μ§€μ˜ 쑰합이 λ‚˜μ˜¨λ‹€. κ·Έλ¦¬ν•˜μ—¬ 총 μ‘°ν•©μ˜ μˆ˜λŠ” 3*4둜 12가지가 λ‚˜μ˜€κ³ , 아무것도 μž…μ§€ μ•ŠλŠ” 경우λ₯Ό μ œμ™Έν•˜λ©΄ 총 11가지 쑰합을 ꡬ할 수 μžˆλ‹€λŠ” μ•„μ΄λ””μ–΄μ˜€λ‹€. κ·Έλž˜μ„œ 이λ₯Ό μΆ”κ°€ν•΄ μ½”λ“œλ₯Ό μ™„μ„±ν•˜λ‹ˆ μ‰½κ²Œ ν’€λ Έλ‹€. 

 

 

 

 

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - μœ„μž₯

 

programmers.co.kr

 

'Algorithm > Programmers' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Programmers] μ†Œμˆ˜ μ°ΎκΈ°  (0) 2022.05.19
[Programmers] ν‚€νŒ¨λ“œ λˆ„λ₯΄κΈ°  (0) 2022.05.19
[Programmers] K번째 수  (0) 2022.05.07
[Programmers] μ‹€νŒ¨μœ¨  (0) 2022.05.07
[Programmers] λͺ¨μ˜κ³ μ‚¬  (0) 2022.05.05