์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ์ง๋ฒ๋ณํ
- mongoose
- ์๊ณ ๋ฆฌ์ฆ
- ExpressJS
- Codable
- DispatchQueue
- Decodable
- SWiFT
- RxSwift
- ์ฑ๋ง๋ค๊ธฐ
- Cloud Firestore
- Figma
- ํ๋ก๊ทธ๋๋จธ์ค
- map
- CRUD
- AVAudioPlayer
- Reduce
- components
- ์ฑ๋์์ธ
- MongoDB
- Filter
- Firestore CRUD
- ios
- Firestore
- Encodable
- Mac
- String.Index
- Core Data
- nodejs
- UIRefreshController
- Today
- Total
Focus On Develop ๐ค๐ค
[ํ๋ก๊ทธ๋๋จธ์ค] ํฐ ์ ๋ง๋ค๊ธฐ ๋ณธ๋ฌธ
<๋ฌธ์ >
<์ ๋ต์ง๊ธฐ>
์๋๋.. ํฐ ์๊ฐ ์์ ์ฌ์๋ก ์ข์๊ฒ์ด์ฌ! ์ข์๊ฒ ์ข์๊ฒ์ด์ฌ! ๐ ๋ผ๋ ํ๋จ์ผ๋ก ์์ํ๋ค. k๊ฐ๋ฅผ ์ง์ด๋ค๋ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ number.count - k ์๋ฆฌ ์๋ก ๋ง๋ ๋ค๋ ๊ฒ์ด๋ค. ์ฃผ์ด์ง number์์ ๋ฑ์ฅํ๋ ์ซ์๋ฅผ Set์ผ๋ก ์ค๋ณต์ ๊ฑฐํ ํ์ ์ ๋ ฌํ๋ค๋ฉด, ๋ฑ์ฅํ๋ ์ซ์๋ค์์ ํฐ์๋ฅผ ์์๋๋ก ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ผ ๊ฐ์ฅ ํฐ ์๊ฐ number์์ ๋ฑ์ฅํ๋ ์ฒซ๋ฒ์งธ index๋ฅผ ์ฐพ๊ณ , ์ด ๊ฐ์ด ๊ฒฐ๊ณผ๊ฐ์ ๋ค์ด๊ฐ ์ ์์๊น? (๊ฒฐ๊ณผ๊ฐ์ ๋จ์ ์๋ฆฌ์๋ณด๋ค number์์ ์ด๊ฐ ๋ค์ ๋จ์ ์ซ์์ ๊ฐฏ์๊ฐ ๋ง์์ผํจ)๋ฅผ ์ฒดํฌํ ๋ค์.. ํ๋์ฉ ๋ฃ์ด์ฃผ๋ฉด ๋๊ฒ ๊ตฐ! ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉํ ๊ฐ์ฅ ํฐ ์์, number์์ ์ฒ์~ํฐ์๊ฐ ์กด์ฌํ๋ ์ธ๋ฑ์ค๊น์ง๋ฅผ ์ญ์ ํด์ค๋ค.(์ด์ ๊ฐ์ ํ์๋ ์์๋ฟ๋๋ฌ ํ์ ์๊ฐ๋ง ๋ฆ์ถค ใ ใ ) ์๋ฅผ๋ค์ด์.. "1231234" ์ผ์ด์ค๋ฅผ ์๊ฐํด๋ณด๋ฉด, ์ฒ์์ 4๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ ์ด๊ฑด ์๋ฆฟ์ ์กฐ๊ฑด์ ์ถฉ์กฑํ์ง ๋ชปํ๋ค. ๊ทธ ๋ค์์ 3์ ๊ฐ์ ธ์ค๊ณ , ์ฒซ๋ฒ์งธ ๋ฑ์ฅํ๋ 3์ด 2๋ฒ์ธ๋ฑ์ค์ ์๋ค?? ์ค์ผ์ด. ๊ทธ๋ฆฌ๊ณ ๋จ์์๋ฆฟ์๋ ์์ง 0์ด๊ณ (๊ฒฐ๊ณผ์ ๋ค์ด๊ฐ ์๊ฐ ์์) 3 ๋ค์ ์๋ ์ซ์์ ๊ฐฏ์๋ 3ํฌํจ 5๊ฐ๋๊น ์๋ฆฟ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋๊ตฐ! ํ๊ณ 3์ ๊ฒฐ๊ณผ์ ๋ฃ์ด์ค ํ์, 0๋ฒ~2๋ฒ ์ธ๋ฑ์ค ๊ฐ์ ์ง์์ค๋ค. ๊ทธ๋ผ 1234๊ฐ ๋จ๊ณ ๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด, ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์์ ๊ฒ์ด๋ค.
๐ 7~10๋ฒ ์ผ์ด์ค์์ ์๊ฐ์ด๊ณผ ๐ญ
์๊ฐ์ด๊ณผ๊ฐ ๋ ์ ํ์ฐธ ๋ฆฌํํ ๋ง์ ๊ณ ๋ฏผํ๋ ๊ฒ ๊ฐ๋ค. ๋ถํ์ํ ์ ๋ ฌ์ด๋ ํ์์ด ์๋์ง.. ํํ ๊ทธ๋ฌ๋ ์๋ฌด๋ฆฌ ๋ฏ์ด๊ณ ์ณ๋๋ 7~10๋ฒ ์๊ฐ์ด๊ณผ ใ ใ ๋ค์ ์ ๋ต์ง๊ธฐ.. stack์ ๊ฐ๋ ์ ํ์ฉํด๋ณด์. ์ฒ์๋ถํฐ ๊ทธ๋ฅ ๋๋๋๋ก ๊ฒฐ๊ณผ์ ๋ฃ์๊ฑฐ์ผ. ๋ค๋ง! ์กฐ๊ฑด์ด์์ด.. ์ด ์คํ์ ๋ง์ง๋ง์ ๋ค์ด์๋ ์๋ณด๋ค ์ง๊ธ ๋ค์ด๊ฐ ์๊ฐ ํฌ๋? ๊ทธ๋ผ ์์ ๊ฒ์ Pop ํ๊ณ ๋ค์ด๊ฐ๋ฉด ๋ผ. (์ด๊ฑธ ํ์ธํ๋ ค๋ฉด ์ผ๋จ ์คํ์ด ๋น์ด์๋์ง ํ์ธํด์ผ๊ฒ ๊ตฐ?) ๊ทธ๋ฆฌ๊ณ .. ์ด ์๋ก์ด ์ซ์๊ฐ ๋ค์ด๊ฐ๋ stack์ ๋ง์ง๋ง ์๋ฅผ Popํด์ ๋ ๋ ธ๋? ๊ทธ๋ผ ๊ทธ๋๋ง๋ค popํ ํ์๋ฅผ ์ ์ฅํ ๊ฑด๋ฐ.. ๊ทธ pop ํ ํ์๊ฐ ์ฃผ์ด์ง k๋ณด๋ค๋ ํฌ๋ฉด ์๋๊ธฐ๋๋ฌธ์ด์ง..!! ๋ผ๋ ์๊ฐ์ผ๋ก ์ญ~ ๋๋ฆฌ๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๊ฒ ๊ฐ๋ค!
<์ฝ๋>
import Foundation
func solution(_ number:String, _ k:Int) -> String {
let number = number.map { String($0) }
var stack: [String] = []
var delCnt = 0
for n in number {
while !stack.isEmpty && delCnt < k && stack.last! < n {
stack.removeLast()
delCnt += 1
}
stack.append(n)
}
while stack.count > number.count-k {
stack.removeLast()
}
return stack.joined()
}
<Lesson Learned>
์์งํ ์๋ก ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ์์ํ๋ฉด์, ์ ์ผ ์ค๋ ๊ฑธ๋ฆฐ ๋ฌธ์ ๋ค..ใ ์ฝ์ง๊ณผ ์ฝ์ง์ ๋ฐ๋ณต(์๊ฐ์ด๊ณผ์ ์์ธ์ผ์ด์ค์ ๊ตด๋ ..)์ผ๋ก.. 2์๊ฐ์ ํผ ๊ฒ ๊ฐ๋ค ๐ญ (์ด๋ ์ฝ๋ฉํ ์คํธ์์ผ๋ฉด ์.ํผ.๊ด.ํ ๐) ๊ทธ๋์ ๊ฒฐ๊ตญ ํด๋์ผ๋ ๋คํ์ด๊ธด ํ๋ค ใ ใ !!! ๋๋ฒ์งธ ์ ๋ต์์๋ 12๋ฒ ํ ์คํธ์ผ์ด์ค๋ฅผ ๊ณ์ ํ๋ ธ๋๋ฐ, ํ์์๋ ๊ทธ๋ ๊ฒ ์๊ฐ ์ํ๋ ๋ง์ง๋ง ๊ฒฝ๊ณ์ ์ ๋ํ ์๊ฐ์ ๋น ๋จ๋ ธ๋ ๊ฒ ๊ฐ๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์๊ฐํด๋ณด๋ฉด 54321 ์ฒ๋ผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋์ด ์๋ ์ ๋ ฅ์ด ๋ค์ด์ค๋ฉด.. ๋ญ ๊ฑฐ๋ฅด๊ณ popํ ๊ฒ๋ ์์ด 54321์ ๊ฒฐ๊ณผ๋ก ๋ฐ์๋ฒ๋ฆฐ๋ค..ํํ.. ๊ทธ๋์ ๋ง์ง๋ง์ ๋ด ๊ฒฐ๊ณผ(stack)์ด ๊ฐ๋ฅํ ์๋ฆฟ์๋ณด๋ค ์ปค์ ธ๋ฒ๋ ธ๋? ๊ทธ๋ผ ๋ง์ง๋ง ๊ฒ์ ์์ฐจ๋ก ์๋ผ! ๋ผ๋ ๋ก์ง์ ๋ฃ์ด์คฌ๋ค.. ๐ ์ํผ ์ฐ์ฌ๊ณก์ ๋์ ํ์ด์ ๋ฐฐ์ด๊ฒ ์์ด์ ๋คํ์ด๋ค~~~~ ๋ฌธ์ ํ๊ธฐ์ ์ Brute Force ์๊ฐ๋ณด๋ค๋ ์ผ๋จ ์ฌ์ฉ๊ฐ๋ฅํ ์ ์ ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์๋์ง ์ถฉ๋ถํ ๊ณ ๋ฏผํด๋ณด๊ณ ์์ํด์ผ๊ฒ ๋ค ๐ ๋ค๋ฅธ์ฌ๋์ ํ์ด๋ฅผ ๋ดค์๋๋ ์์งํ ์ด๊ฑด ๋ด๊ฐ ์ ค ์ํผ๊ฒ ๊ฐ๋ค !!
์ถ์ : ํ๋ก๊ทธ๋๋จธ์ค ํฐ ์ ๋ง๋ค๊ธฐ
'iOS [Swift] > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2020.12.27 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (0) | 2020.12.27 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํฌํธ๋ฆฌ (0) | 2020.12.23 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฐ (0) | 2020.12.21 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ์ํธ (0) | 2020.12.21 |