문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한 사항
absolutes의 길이는 1 이상 1,000 이하입니다.
absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
signs의 길이는 absolutes의 길이와 같습니다.
signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
1차 코드
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
var answer = 0
for i in 0..<signs.count {
if signs[i] == true {
answer += absolutes[i]
} else {
answer -= absolutes[i]
}
}
return answer
}
1차 결과

보완점
배열 속 배열을 어떻게 매칭하여 처리해야하는지가 중요했던 것 같다.
무의식중에 두 배열을 매칭시키는 건 이중for문이라고 생각해서 조금 고민하다가
처음부터 다시 해보자는 마음으로 for문 하나로도 충분했던 것 같다.
이중 for문은 전체 경우의 수를 탐색할 때 자주 쓰이는데 왜 이중 for문부터 박고 시작했는지 모르겠다.
문제를 시작하기 전에 충분한 고민과 문제 이해를 하는데 시간을 더 써야 실수가 줄어들 것 같다.
그리고 너무 for문을 사랑하는 것 같아서 삼항연산자를 적극적으로 활용해볼 필요가 있다고 생각한다.
최종 코드
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
var answer = 0
for i in 0..<signs.count {
answer += signs[i] == true ? absolutes[i] : -absolutes[i]
}
return answer
}
'iOS > Programmers' 카테고리의 다른 글
[Swift] lv.1 서울에서 김서방 찾기 | Programmers (0) | 2024.02.28 |
---|---|
[Swift] lv.1 최소 직사각형 | Programmers (0) | 2024.02.27 |
[Swift] lv.1 크기가 작은 부분문자열 | Programmers (0) | 2024.02.26 |
[Swift] lv.1 두 정수 사이의 합 | Programmers (0) | 2024.02.26 |
[Swift] lv.1 하샤드 수 | Programmers (0) | 2024.02.24 |
문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한 사항
absolutes의 길이는 1 이상 1,000 이하입니다.
absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
signs의 길이는 absolutes의 길이와 같습니다.
signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
1차 코드
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
var answer = 0
for i in 0..<signs.count {
if signs[i] == true {
answer += absolutes[i]
} else {
answer -= absolutes[i]
}
}
return answer
}
1차 결과

보완점
배열 속 배열을 어떻게 매칭하여 처리해야하는지가 중요했던 것 같다.
무의식중에 두 배열을 매칭시키는 건 이중for문이라고 생각해서 조금 고민하다가
처음부터 다시 해보자는 마음으로 for문 하나로도 충분했던 것 같다.
이중 for문은 전체 경우의 수를 탐색할 때 자주 쓰이는데 왜 이중 for문부터 박고 시작했는지 모르겠다.
문제를 시작하기 전에 충분한 고민과 문제 이해를 하는데 시간을 더 써야 실수가 줄어들 것 같다.
그리고 너무 for문을 사랑하는 것 같아서 삼항연산자를 적극적으로 활용해볼 필요가 있다고 생각한다.
최종 코드
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
var answer = 0
for i in 0..<signs.count {
answer += signs[i] == true ? absolutes[i] : -absolutes[i]
}
return answer
}
'iOS > Programmers' 카테고리의 다른 글
[Swift] lv.1 서울에서 김서방 찾기 | Programmers (0) | 2024.02.28 |
---|---|
[Swift] lv.1 최소 직사각형 | Programmers (0) | 2024.02.27 |
[Swift] lv.1 크기가 작은 부분문자열 | Programmers (0) | 2024.02.26 |
[Swift] lv.1 두 정수 사이의 합 | Programmers (0) | 2024.02.26 |
[Swift] lv.1 하샤드 수 | Programmers (0) | 2024.02.24 |