2021. 5. 27. 00:41ใ๐ง๐ป๐ป iOS ๊ฐ๋ฐ/Swift - Algorithm - Solutions
๐ต๐ป ๋ฌธ์ ํด์
N์ง์ ๊ฒ์์ ์ผ์ก๊ตฌ์ฒ๋ผ ์ฌ๋๋ค์ด ๋์๊ฐ๋ฉฐ ์ซ์๋ฅผ ์ธ์น๋ ๊ฒ์์ธ๋ฐ, ์กฐ๊ธ์ ๋ค๋ฅด๊ฒ 0๋ถํฐ ์ฆ๊ฐํ๋ ์ซ์๋ฅผ N์ง์๋ก ๋ณํํ์ฌ ์์ ์ ์ฐจ๋ก์ ํด๋นํ๋ ์ซ์๋ฅผ ์ธ์น๋ ๊ฒ์์ ๋๋ค. ์ ๋ง ์ด๋ฐ ๊ฒ์์ ํ๋ ์ฌ๋์ด ์์๊น์?.. ๐จ
๋ฌดํผ n์ง๋ฒ, ๋ฏธ๋ฆฌ ์์ ์ ์ฐจ๋ก์ ์ธ์ณ์ผํ ์๋ค์ ๊ตฌํด์ผ ํ ๊ฐ์ t, ๊ฒ์์ ์ด ์ธ์์ m, ๊ทธ๋ฆฌ๊ณ ์์ ์ ์ฐจ๋ก p๊ฐ ์ฃผ์ด์ง๋ฉด, ์์ ์ ์ฐจ๋ก์ ๋ง๋ t๊ฐ์ ์๋ค์ ๋ฏธ๋ฆฌ ๊ตฌํด ๊ณต๋ฐฑ์ด ์๋ ๋ฌธ์์ด๋ก ๋ฆฌํดํ๋ ๋ฌธ์ ์์ต๋๋ค.
์ค์ํํธ์๋ ์ฃผ์ด์ง ๊ฐ์ ์์์ ์ง์๋ก ๋ณํํด์ฃผ๋ ๊ฐํธํ๊ณ ๋ ๊ฐ๋ ฅํ String ์์ฑ์๊ฐ ์์ต๋๋ค. ๋ํ 16์ง๋ฒ์ฒ๋ผ ๋ฌธ์๊ฐ ๋ฑ์ฅํ๋ ๊ฒฝ์ฐ์ uppercase ๋งค๊ฐ๋ณ์๋ฅผ true๋ก ํด์ฃผ๋ฉด, ๊ทธ ๊ฐ์ ๋๋ฌธ์๋ก ๋ฆฌํดํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ ์๋ฌธ์๋ก false๋ก ๋ช ์ํด์ฃผ๋ฉด ์๋ฌธ์๋ก ๋ฆฌํดํ๊ฒ ๋ฉ๋๋ค.
๐ฆ ๋ฌธ์ ํ์ด & ์ฝ๋
func solution(_ n:Int, _ t:Int, _ m: Int, _ p:Int) -> String {
var answer = ""
var turnCounter = 1
var integer = 0
// t๊ฐ๋ฅผ ๊ตฌํ ๋ ๊น์ง ๋ฐ๋ณต
while answer.count < t {
// integer๋ฅผ n์ง์๋ก ๋ณํ
let convertedByBaseN = String(integer, radix: n, uppercase: true)
// ๋ณํ๋ integer๋ฅผ ์ซ์ ํ๋ ํ๋์ฉ ํ์ํ๋ฉฐ ์ฐจ๋ก๊ฐ ๋ง์ผ๋ฉด ์ ๋ต์ ์ถ๊ฐ
for number in convertedByBaseN {
if turn == p {
answer += String(number)
}
// m๋ฒ์งธ์ ๋๋ฌํ๋ฉด ์นด์ดํฐ ์ด๊ธฐํ
if turnCounter == m {
turnCounter = 0
}
// t๊ฐ๋ฅผ ๊ตฌํ๋ฉด break
if answer.count == t {
break
}
// ์ฐจ๋ก ์ฆ๊ฐ
turnCounter += 1
}
// ๋ค์ integer
integer += 1
}
return answer
}
'๐ง๐ปโ๐ป iOS ๊ฐ๋ฐ > Swift - Algorithm - Solutions' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] ์์ ๊ฒ์ (0) | 2021.05.29 |
---|---|
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] [3์ฐจ] ๋ฐฉ๊ธ๊ทธ๊ณก (0) | 2021.05.27 |
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] [3์ฐจ] ํ์ผ๋ช ์ ๋ ฌ (0) | 2021.05.25 |
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ (0) | 2021.05.22 |
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] N๊ฐ์ ์ต์๊ณต๋ฐฐ์ ๊ตฌํ๊ธฐ (0) | 2021.05.20 |