Where who wants to meet someone
음양 더하기 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/76501
내 답안 / 다른 사람들의 답안
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
return absolutes.enumerated().map { signs[$0.offset] == true ? $0.element : -$0.element }.reduce(0, +)
}
- offset을 가지고 양수 음수를 판별해서 더하면 되는 것이므로 enumerated를 사용했고, map을 사용하여 signs의 offset 항목이 true라면 element를, false라면 음수의 element를 담아 reduce로 더해주었다.
// 풀이 1
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
return (0..<absolutes.count).map { signs[$0] ? absolutes[$0] : -absolutes[$0] }.reduce(0, +)
}
// 풀이 2
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
zip(absolutes, signs)
.map { $1 ? $0 : -$0 }
.reduce(0, +)
}
// 풀이 3
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
}
점수: +1
'프로그래머스 알고리즘 문제 기록 > Lv. 1' 카테고리의 다른 글
나누어 떨어지는 숫자 배열 (0) | 2024.05.14 |
---|---|
없는 숫자 더하기 (0) | 2024.05.13 |
서울에서 김서방 찾기 (0) | 2024.05.13 |
두 정수 사이의 합 (0) | 2024.05.13 |
나머지가 1이 되는 수 찾기 (0) | 2024.05.13 |