๋ฌธ์ ํ์ด
์์ ์ ์ x๊ฐ ํ์ค๋ ์์ด๋ ค๋ฉด x์ ์๋ฆฟ์์ ํฉ์ผ๋ก x๊ฐ ๋๋์ด์ ธ์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 18์ ์๋ฆฟ์ ํฉ์ 1+8=9์ด๊ณ , 18์ 9๋ก ๋๋์ด ๋จ์ด์ง๋ฏ๋ก 18์ ํ์ค๋ ์์ ๋๋ค. ์์ฐ์ x๋ฅผ ์ ๋ ฅ๋ฐ์ x๊ฐ ํ์ค๋ ์์ธ์ง ์๋์ง ๊ฒ์ฌํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
์ ํ ์กฐ๊ฑด
- x๋ 1 ์ด์, 10000 ์ดํ์ธ ์ ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
arr | return |
10 | true |
12 | true |
11 | false |
13 | false |
๋ด ๋ฌธ์ ํ์ด
func solution(_ x:Int) -> Bool {
let number = String(x).map{Int(String($0))!}.reduce(0, +)
if x % number == 0 {
return true
}
else {
return false
}
}
- ์ ๋ ฅ ๋ฐ์ ์๋ฅผ String์ผ๋ก ๋ณํ, map ์ด์ฉํ์ฌ ๊ฐ ์๋ฆฌ ์๋ฅผ ๋ชจ๋ Int๋ก ๋ฐ๊ฟ์ ๋ชจ๋ ์๋ฆฌ ์๋ฅผ ๋ํด์ฃผ์๋ค.
- ์ ๋ ฅ ๋ฐ์ ์ x๋ฅผ ๊ฐ ์๋ฆฌ์๋ผ๋ฆฌ ๋ํ ๊ฐ์ผ๋ก ๋๋์์ ๋, ๋๋จธ์ง๊ฐ 0์ด๋ฉด true, ์๋๋ฉด false๋ฅผ ๋ฆฌํดํ๋ค.
๐ก ํผ๋๋ฐฑ
- ๋ฌธ์ ๋ฅผ ํ๊ณ ๋ค๋ฅธ ๋ถ๋ค ํ์ด๋ฅผ ๋ณด๋ค๊ฐ ์๊ฐ๋๊ฑด๋ฐ,
์ด์ฐจํผ Bool ๊ฐ์ ๋ฆฌํดํด์ผ ํ๋ ๊ฒ์ด๋ผ๋ฉด
๊ตณ์ด if๋ฌธ์ ์ฌ์ฉํ์ง ์๊ณ ๋ ๊ฐ๋จํ ํ์ด๋ฅผ ๋ง๋ค ์ ์์ ๊ฒ ๊ฐ๋ค.
๐ ์์ ํ ์ฝ๋. ์ด๋ ๊ฒ..!
func solution(_ x:Int) -> Bool {
return x % (String(x).map{Int(String($0))!}.reduce(0, +)) == 0
}
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/12947/solution_groups?language=swift
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ Programmers(Lv.1) (0) | 2021.06.06 |
---|---|
[Swift Algorithm] ํ๋ ฌ์ ๋ง์ Programmers(Lv.1) (0) | 2021.06.06 |
[Swift Algorithm] x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ Programmers(Lv.1) (0) | 2021.06.06 |
[Swift Algorithm] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ Programmers(Lv.1) (0) | 2021.06.06 |
[Swift Algoritm] ํ๊ท ๊ตฌํ๊ธฐ Programmers(Lv.1) (0) | 2021.06.05 |
๋๊ธ