Problem
Solution
์ฐ์ ์ซ์๋ฅผ n์ง์๋ก ๋ฐ๊พผ String์ ๋ด์ ๋ฐฐ์ด์ ๋ง๋ค์ด์ค๋๋ค. -> var array = [String]()
๊ทธ ๋ค์ ๋ฏธ๋ฆฌ ์ถ๋ ฅํ ์ซ์๋ค์ ๋ด์ ๋ฐฐ์ด์ ๋ง๋ค์ด์ค๋๋ค. - > var answer = [String]()
์ฐจ๋ก๋๋ก ์ซ์๋ฅผ ๊ธฐ์ตํ ๋ณ์๋ฅผ ๋ง๋ค์ด์ค๋๋ค. - > var i = 0
๋ช๋ฒ์งธ ์ฐจ๋ก์ธ์ง ๊ธฐ๋กํ ๋ณ์๋ฅผ ๋ง๋ค์ด์ค๋๋ค.(index๊ฐ 0๋ถํฐ ์์์ด๋ฏ๋ก ์ด๊ธฐ๊ฐ์ ์์ ์ ์์์์ -1 ํด์ค๋๋ค.) -> var j = p-1
๋ฏธ๋ฆฌ ์ซ์๋ฅผ ์ถ๋ ฅํ ์ซ์๊ฐ t๋งํผ ํ์ํ๊ธฐ ๋๋ฌธ์ answer์ ๊ธธ์ด๊ฐ t๋ณด๋ค ์์ ๊ฒ์ ์กฐ๊ฑด์ผ๋ก while๋ฌธ์ ์คํํด์ค๋๋ค.
-> while answer.count < t {
array์์ ๊ธธ์ด๊ฐ ์์๋ณด๋ค ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์กฐ๊ฑด์ j+1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์๊ฒ์ผ๋ก ๋ก๋๋ค.
-> if array.count >= j+1 {
์กฐ๊ฑด์ ๋ง๋ค๋ฉด ๋ฏธ๋ฆฌ ์ถ๋ ฅํ ์ซ์ ์ฆ, array์์ ํ์ฌ ํด์ ์์ ์ ์์์ฐจ๋ก์ ์ซ์๋ฅผ ์ถ๊ฐํด์ค๋ค.
answer.append(array[j])
ํ ํด์ด ์ฌ๋ ์๋งํผ ๋์ด๋๋ฏ๋ก j์ m์ ๋ํด์ค๋๋ค. -> j += m
์๋๋ผ๋ฉด ๋ฐฐ์ด์์ ์ซ์๋ฅผ n์ง์๋ก ๋ฐ๊พผ String์ map์ผ๋ก ์๋ฆฟ์๋งํผ ๋๋๊ฒ์ contentsOf:๋ฅผ ์ด์ฉํ์ฌ ๊ฐ ์๋ฆฟ์์ ์ซ์๋ฅผ ๋ฃ์ด์ค๋๋ค.
-> else{array.append(contentsOf:String(i, radix: n).map{String($0.uppercased())})
๊ทธ๋ฆฌ๊ณ ๋ค์ ์ซ์๋ก ๋์ด๊ฐ๊ฒ +1์ ํด์ค๋๋ค. -> i += 1
๋ง์ง๋ง์ผ๋ก answer์ ๊ธธ์ด๊ฐ t๋ณด๋ค ๊ฐ๊ฑฐ๋ ๊ธธ์ด์ก๋ค๋ฉด while๋ฌธ์ ํ์ถํ๊ณ answer๋ฅผ joined()๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ถ์ฌ์ค ๋ค ๋ฐํํด์ค๋๋ค.
-> return answer.joined()
Source Code
'๐ Problem Solution > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ Swift (0) | 2020.11.12 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง 1 ์ฟผ๋์์ถ ํ ๊ฐ์ ์ธ๊ธฐ Swift (0) | 2020.11.05 |
ํ๋ก๊ทธ๋๋จธ์ค ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ Swift (0) | 2020.10.23 |
2018 KAKAO BLIND RECRUITMENT [1์ฐจ] ๋ด์ค ํด๋ฌ์คํฐ๋ง Swift (0) | 2020.10.20 |
ํ๋ก๊ทธ๋๋จธ์ค ์์ ๋ง๋ค๊ธฐ Swift (0) | 2020.10.19 |
๋๊ธ