⌨️ Language/swift

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ LV.1] 삼총사

hyebin (Helia) 2023. 3. 9. 17:14
λ°˜μ‘ν˜•
ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ LV.1 λͺ¨μŒ

삼총사

문제 μ„€λͺ…

ν•œκ΅­μ€‘ν•™κ΅μ— λ‹€λ‹ˆλŠ” 학생듀은 각자 μ •μˆ˜ 번호λ₯Ό κ°–κ³  μžˆμŠ΅λ‹ˆλ‹€. 이 학ꡐ 학생 3λͺ…μ˜ μ •μˆ˜ 번호λ₯Ό λ”ν–ˆμ„ λ•Œ 0이 되면 3λͺ…μ˜ 학생은 삼총사라고 ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 5λͺ…μ˜ 학생이 있고, 각각의 μ •μˆ˜ λ²ˆν˜Έκ°€ μˆœμ„œλŒ€λ‘œ -2, 3, 0, 2, -5일 λ•Œ, 첫 번째, μ„Έ 번째, λ„€ 번째 ν•™μƒμ˜ μ •μˆ˜ 번호λ₯Ό λ”ν•˜λ©΄ 0μ΄λ―€λ‘œ μ„Έ 학생은 μ‚Όμ΄μ‚¬μž…λ‹ˆλ‹€.

λ˜ν•œ, 두 번째, λ„€ 번째, λ‹€μ„― 번째 ν•™μƒμ˜ μ •μˆ˜ 번호λ₯Ό 더해도 0μ΄λ―€λ‘œ μ„Έ 학생도 μ‚Όμ΄μ‚¬μž…λ‹ˆλ‹€.

λ”°λΌμ„œ 이 경우 ν•œκ΅­μ€‘ν•™κ΅μ—μ„œλŠ” 두 κ°€μ§€ λ°©λ²•μœΌλ‘œ 삼총사λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

ν•œκ΅­μ€‘ν•™κ΅ ν•™μƒλ“€μ˜ 번호λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ λ°°μ—΄ numberκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, 학생듀 쀑 삼총사λ₯Ό λ§Œλ“€ 수 μžˆλŠ” λ°©λ²•μ˜ 수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•˜μ„Έμš”.

μ œν•œ 사항

  • 3 ≤ number의 길이 ≤ 13
  • -1,000 ≤ number의 각 μ›μ†Œ ≤ 1,000
  • μ„œλ‘œ λ‹€λ₯Έ ν•™μƒμ˜ μ •μˆ˜ λ²ˆν˜Έκ°€ 같을 수 μžˆμŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예

number result
[-2, 3, 0, 2, -5] 2
[-3, -2, -1, 0, 1, 2, 3] 5
[-1, 1, -1, 1]  0

μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1

  • 문제 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #2

  • ν•™μƒλ“€μ˜ μ •μˆ˜ 번호 쌍 (-3, 0, 3), (-2, 0, 2), (-1, 0, 1), (-2, -1, 3), (-3, 1, 2) 이 삼총사가 될 수 μžˆμœΌλ―€λ‘œ, 5λ₯Ό return ν•©λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #3

  • 삼총사가 될 수 μžˆλŠ” 방법이 μ—†μŠ΅λ‹ˆλ‹€.

제좜

import Foundation

func solution(_ number:[Int]) -> Int {
    var answer = 0

    for i in 0..<number.count-2{
        for j in i+1..<number.count-1{
            for k in j+1..<number.count{
                if number[i] + number[j] + number[k] == 0{
                    answer += 1
                }
            }
        }
    }

    return answer
}
λ°°μ—΄ numberμ—μ„œ μˆœμ„œλŒ€λ‘œ 3개의 μš”μ†Œλ“€μ„ 더해 합이 0이라면, answer λ³€μˆ˜λ₯Ό 1 μ¦κ°€μ‹œν‚¨λ‹€.
λ°˜μ‘ν˜•