๋ฌธ์ ์ค๋ช
์ด๋ค ์ซ์์์ k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ซ์ 1924์์ ์ ๋ ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ฉด [19, 12, 14, 92, 94, 24] ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ 94 ์ ๋๋ค.
๋ฌธ์์ด ํ์์ผ๋ก ์ซ์ number์ ์ ๊ฑฐํ ์์ ๊ฐ์ k๊ฐ solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. number์์ k ๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ๋ง๋ค ์ ์๋ ์ ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๋ฌธ์์ด ํํ๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
์ ํ ์กฐ๊ฑด
- number๋ 1์๋ฆฌ ์ด์, 1,000,000์๋ฆฌ ์ดํ์ธ ์ซ์์ ๋๋ค.
- k๋ 1 ์ด์ number์ ์๋ฆฟ์ ๋ฏธ๋ง์ธ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
number | k | return |
1924 | 2 | 94 |
1231234 | 3 | 3234 |
4177252841 | 4 | 775841 |
ํ์ด: ์ฐ์ number๋ฅผ map์ผ๋ก ๋๋ ์ค๋ค. ์ด๋ ๊ฒ ํ๋ ์ด์ ๋ ๊ธ์๋ฅผ ๋ฐฐ์ด์ฒ๋ผ ๋ค๋ฃฐ๋ ค๋ฉด index๊ฐ์ ์ ํด์ค์ผํ๊ธฐ ๋๋ฌธ์ ๊ท์ฐฎ์์ง๋ค.
๊ทธ๋ฆฌ๊ณค ์๋ค์ ๋ด์ ๋ฐฐ์ด์ ๋ง๋ค์ด์ฃผ๊ณ ์ญ์ ํ ์๋ฅผ ์ธ๋ count๋ผ๋ ๋ณ์๋ ๋ง๋ค์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณค for๋ฌธ์ number์ ๊ธธ์ด์ ๋ง๊ฒ ๋๋ฆฌ๊ณ for๋ฌธ ์์๋ while๋ฌธ์ผ๋ก 3๊ฐ์ง ์กฐ๊ฑด์ ๋ฌ์์ค๋ค.
1.์ญ์ ํ์(count)๊ฐ k๋ฅผ ๋์ง ์์ ๊ฒ
2.stack์ด ๋น์ด์์ง ์์ ๊ฒ
3.์คํ์ ๊ฐ์ฅ ์ต๊ทผ์ ๊ฐ์ด ๊ทธ ๋ค์์ผ๋ก ๋ค์ด์ค๋ ๊ฐ๋ณด๋ค ํฌ์ง ์์ ๊ฒ
์๋ ๊ฒ 3๊ฐ์ง ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ค๋ฉด stack์ ๊ฐ์ฅ ์ต๊ทผ์ ๊ฐ์ ์ง์์ค๋ค.
์๋ํ๋ฉด ๊ทธ ๋ค์์ผ๋ก ๋ค์ด์ค๋ ์๊ฐ ๊ฐ์ฅ ์ต๊ทผ์ ๊ฐ๋ณด๋ค ํฌ๋ค๋ฉด
์ญ์ ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฆฌ๊ณค count๋ฅผ 1 ๋ํด์ค๋ค.
while๋ฌธ์ ๋น ์ ธ๋์์ count๊ฐ k์ ๊ฐ๊ฑฐ๋ ๋ ์ปค์ก๋ค๋ฉด
stack์ map์ ์ง๊ธ๋ถํฐ ๋๊น์ง ๋ฃ์ด์ค๋ค, stack.append(map[i]..). (contentsOf:a...b -> a๋ถํฐ b๊น์ง ๋ฐฐ์ด์ ๋ฃ๋๋ค.)
๋ง์ฝ ์์ง k๋ฅผ ๋์ง ์์๋ค๋ฉด map[i]๋ง ๋ฃ์ด์ฃผ๋๋ก ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ stack์ ๋ชจ๋ ํฉ์น ๊ธ์ stack.joined์์ ์ฐ๋ฆฌ๊ฐ ๊ตฌํด์ผ ํ๋ ๊ธธ์ด์ธ number์ ๊ธธ์ด์์ k๋ฅผ ๋บ ๊ฐ๋ง
Stringํํ๋ก ๋ฐํํด์ค๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import Foundation
func solution(_ number:String, _ k:Int) -> String {
var stack = [String]()
var count = 0
stack.removeLast()
count += 1
}
if count >= k {
break
}else{
}
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
๊ณ์ 8๋ฒ๊ณผ 10๋ฒ์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ์๋๋ฐ contentsOf์ prefix๋ก number.count-k๋ก ๊ธธ์ด๋ฅผ ์ ํด์ฃผ๋๊น ์๊ฐ์ด๊ณผ๊ฐ ํด๊ฒฐ๋์๋ค.
'๐ Problem Solution > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค ์์์ฐพ๊ธฐ Level 2 Swift (0) | 2020.04.20 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค ์กฐ์ด์คํฑ Swift (0) | 2020.04.09 |
2020 KAKAO BLIND RECRUITMENT ๋ฌธ์์ด ์์ถ Swift (0) | 2020.03.28 |
ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ง๋๊ธฐ Swift (0) | 2020.03.28 |
ํ๋ก๊ทธ๋๋จธ์ค ์คํฌํธ๋ฆฌ Swift (0) | 2020.03.25 |
๋๊ธ