728x90
[Swift] 프로그래머스 삼총사(lv. 1)
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/131705
2. 접근
삼총사... 세 개의 원소를 가지고 해야 한다.
주어지는 number의 배열의 길이가 최대 13이므로 4~5중 반복문도 상관없으니 삼중반복을 통해 3개의 원소를 고르는 경우의 수를 모두 찾아 더해주면 되는 '간''단'한 문제이다.
원소의 순서는 상관이 없으니 '조합'이다. 그렇기에 앞에서부터 차례로 반복문을 돌려주면 되고, 이중 반복문에서는 시작점을 가장 바깥 반복문의 index + 1 부터 number.count - 2 까지 순환을 하고, 삼중 반복문에서는 중간 반복문의 index + 1 부터 number.count - 3 까지 순환을 하면 된다.
3. 코드
import Foundation
func solution(_ number:[Int]) -> Int {
var answer = 0
for i in 0 ... number.count - 3 {
for j in i + 1 ... number.count - 2 {
for k in j + 1 ... number.count - 1 {
if number[i] + number[j] + number[k] == 0 {
answer += 1
}
}
}
}
return answer
}
728x90
'Problem Solving' 카테고리의 다른 글
[Swift] 프로그래머스 K번째 수(lv. 1) (2) | 2023.01.20 |
---|---|
[Swift] 프로그래머스 문자열 내 마음대로 정렬하기(lv. 1) (0) | 2023.01.19 |
[Swift] 프로그래머스 비밀지도(lv. 1) (0) | 2023.01.17 |
[Swift] 프로그래머스 최소직사각형(lv. 1) (0) | 2023.01.16 |
[Swift] 프로그래머스 시저 암호(lv. 1) (0) | 2023.01.13 |
댓글