TIL/알고리즘 공부

프로그래머스 Lv. 1 Swift 알고리즘 - 삼총사

여의도사노비 2023. 1. 1. 14:45
728x90

각 배열에 있는 3가지 숫자의 합이 0이 되는 경우를 찾아주면 되는 문제이다.

입력받은 number의 원소들을 하나씩 차례대로 골라 전부 더해줬을 때 0이 되면 count를 1 추가해주면 되는 간단한 문제이다.

 

 

 

이 문제를 풀면서 생각한 논리적 흐름

  1. number array에 있는 값들을 1번째 원소 + 2번째 원소 + 3번째 원소로 나누어서 더해준다.
  2. 각 더한 값들이 0이 될 경우 count를 1 추가해준다.
  3. i, j, k와 같은 인덱스들의 범위가 초과하지 않도록 신경써준다.

 

 

* 코드

import Foundation

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

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

    return count
}

 

 

정리(Today I Learned)

  1. 없음