#2309 일곱 난쟁이
문제 정리
9개의 Int 배열에서 2개를 뺐을 때 합이 100이 되는 경우를 찾는 문제입니다.
풀이
import Foundation
var heights: [Int] = []
var output: [Int] = []
var sum: Int = 0
// 일곱 난쟁이가 아닌 사람들의 키
var a: Int = 0
var b: Int = 0
// 엔터로 입력 받기
for _ in 0..<9 {
let input1 = readLine()!.split(separator: " ").map { Int(String($0))! }
heights.insert(contentsOf: input1, at: heights.endIndex)
}
output = heights
heights.forEach { sum += $0 }
// 일곱 난쟁이가 아닌 사람을 찾아 키를 저장
for i in 0 ..< heights.endIndex {
for j in i + 1 ..< heights.endIndex {
if (sum - (heights[i] + heights[j]) == 100) {
a = heights[i]
b = heights[j]
}
}
}
// 일곱 난쟁이가 아닌 사람의 키를 output 에서 remove
output.remove(at: heights.firstIndex(of: b)!)
output.remove(at: heights.firstIndex(of: a)!)
let sortedOutput = output.sorted()
for i in 0..<7 {
print(sortedOutput[i])
}
풀고나서 알게된 것
swift에서 숫자 입력받는게 너무 번거롭다..
for문을 잘 돌리자
'알고리즘' 카테고리의 다른 글
[백준] BOJ-14889 스타트와 링크 (0) | 2022.11.27 |
---|---|
[프로그래머스] PRG-JadenCase 문자열 만들기 (0) | 2022.09.19 |
[백준 BOJ] BOJ-1018 체스판 다시 칠하기 (0) | 2022.09.18 |
[백준 BOJ] BOJ-8393 합 (0) | 2022.09.18 |
[백준 BOJ] BOJ-7568 덩치 (0) | 2022.09.18 |