๋ฐ์ํ
ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์
์์ ๋ํ๊ธฐ
๋ฌธ์ ์ค๋ช
์ด๋ค ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์ ๋๊ฐ์ ์ฐจ๋ก๋๋ก ๋ด์ ์ ์ ๋ฐฐ์ด absolutes์ ์ด ์ ์๋ค์ ๋ถํธ๋ฅผ ์ฐจ๋ก๋๋ก ๋ด์ ๋ถ๋ฆฌ์ธ ๋ฐฐ์ด signs๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ค์ ์ ์๋ค์ ํฉ์ ๊ตฌํ์ฌ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- absolutes์ ๊ธธ์ด๋ 1 ์ด์ 1,000 ์ดํ์
๋๋ค.
- absolutes์ ๋ชจ๋ ์๋ ๊ฐ๊ฐ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- signs์ ๊ธธ์ด๋ absolutes์ ๊ธธ์ด์ ๊ฐ์ต๋๋ค.
- signs [i]๊ฐ ์ฐธ์ด๋ฉด absolutes [i]์ ์ค์ ์ ์๊ฐ ์์์์, ๊ทธ๋ ์ง ์์ผ๋ฉด ์์์์ ์๋ฏธํฉ๋๋ค.
์ ์ถ๋ ฅ ์
absolutes | absolutes | result |
[4,7,12] | [true,false,true] | 9 |
[1,2,3] | [false,false,true] | 0 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- signs๊ฐ [true, false, true] ์ด๋ฏ๋ก, ์ค์ ์๋ค์ ๊ฐ์ ๊ฐ๊ฐ 4, -7, 12์ ๋๋ค.
- ๋ฐ๋ผ์ ์ธ ์์ ํฉ์ธ 9๋ฅผ return ํด์ผ ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- signs๊ฐ [false, false, true] ์ด๋ฏ๋ก, ์ค์ ์๋ค์ ๊ฐ์ ๊ฐ๊ฐ -1, -2, 3์ ๋๋ค.
- ๋ฐ๋ผ์ ์ธ ์์ ํฉ์ธ 0์ return ํด์ผ ํฉ๋๋ค.
์ ์ถ
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
var result = 0
for i in 0..<absolutes.count{
result = signs[i] ? result+absolutes[i] : result-absolutes[i]
}
return result
}
๊ฒฐ๊ด๊ฐ์ ์ ์ฅํ ๋ณ์ result๋ฅผ ์์ฑํ๋ค.
absolutes ๋ฐฐ์ด์ ํฌ๊ธฐ๋งํผ for๋ฌธ์ ์คํํ๋ค.
signs ๋ฐฐ์ด์ ์์๊ฐ true ๋ผ๋ฉด result์ absolutes๋ฐฐ์ด์ ์์๋ฅผ ๋ํ๊ณ ์๋๋ผ๋ฉด absolutes ๋ฐฐ์ด์ ์์๋ฅผ ๋บ๋ค.
๋ค๋ฅธ ํ์ด
import Foundation
func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int {
return (0..<absolutes.count).map{signs[$0] ? absolutes[$0] : -absolutes[$0]}.reduce(0,+)
}
mapํจ์๋ฅผ ์ฌ์ฉํ์ฌ signs์ ์์๊ฐ ture๋ผ๋ฉด ์์์ absolutes ๋ฐฐ์ด์ ์๋๋ผ๋ฉด ์์์ absolutes์ ๋ฐํํ๋ค.
reduceํจ์๋ฅผ ์ฌ์ฉํ์ฌ map ํจ์์์ ๋ฐํํ ์์๋ค์ ๋ํ๋ค.
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์ฝ์์ ๊ฐ์์ ๋ง์ (0) | 2023.03.05 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2023.03.04 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2023.03.03 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋ด์ (0) | 2023.03.03 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] 3์ง๋ฒ ๋ค์ง๊ธฐ (0) | 2023.03.02 |