ํฐ์คํ ๋ฆฌ ๋ทฐ
Algorithm
[Algorithm] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (append(), removeLast())
_๋ณด๋ฆ 2021. 3. 16. 11:42๐ฅ ๋ฌธ์
๊ฒ์ ํ๋ฉด์ ๊ฒฉ์์ ์ํ๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด board์ ์ธํ์ ์ง๊ธฐ ์ํด ํฌ๋ ์ธ์ ์๋์ํจ ์์น๊ฐ ๋ด๊ธด ๋ฐฐ์ด moves๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ํฌ๋ ์ธ์ ๋ชจ๋ ์๋์ํจ ํ ํฐํธ๋ ค์ ธ ์ฌ๋ผ์ง ์ธํ์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ค ํ์ด ๋ฐฉ๋ฒ
- ๋ณ์
copiedBoard
: board์ ๋ด์ฉ์ ๋ณต์ฌํด์จ๋ค.basket
: ์ธํ์ ๋ด์ ๋ฐ๊ตฌ๋doll
: ์ง์ด ์ฌ๋ฆฐ ์ธํresult
: ํฐํธ๋ ค์ ธ ์ฌ๋ผ์ง ์ธํ์ ๊ฐ์
- 2์ค for๋ฌธ
- ํฌ๋ ์ธ์ ์๋์ํจ ์์น๋ฅผ ํ๋์ฉ ํ์ํ๋ค.
- ๋์์ ํ๋ฉด์ ๊ฒฉ์ ์ํ๊ฐ ์ํ๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด
board
๋ฅผ ํ์ํ๋ค. for move in moves { for i in 0..<board.count { } }
doll = copiedBoard[i][move - 1]
- ์ธํ์ ์ก์ ๊ฒฐ๊ณผ๋ฅผ
doll
์ ์ ์ฅํ๋ค.
- ์ธํ์ ์ก์ ๊ฒฐ๊ณผ๋ฅผ
if doll != 0
: ์ธํ์ ์ก์์ ๊ฒฝ์ฐcopiedBoard[i][move - 1] = 0
- ์ธํ์ ์ก์ ์์น์ 0์ ๋ฃ์ด์ค๋ค.
basket.append(doll)
: ๋ฐ๊ตฌ๋์ ์ธํ์ ๋ฃ๋๋ค.- ๋ฐ๊ตฌ๋๊ฐ ๋น์ด์์ ๊ฒฝ์ฐ
- ๋ฐ๊ตฌ๋์ ๋ค์ด์๋ ๋ง์ง๋ง ์ธํ์ด ์ก์ ์ธํ๊ณผ ๋ค๋ฅผ ๊ฒฝ์ฐ
basket.removeLast()
: ๋ฐ๊ตฌ๋์ ๋ค์ด์๋ ๋ง์ง๋ง ์ธํ์ ํฐํธ๋ฆฐ๋ค.- ๋ฐ๊ตฌ๋์ ๋ค์ด์๋ ๋ง์ง๋ง ์ธํ๊ณผ ์ก์ ์ธํ์ด ๊ฐ์ ๊ฒฝ์ฐ
- ์ก์ ์ธํ์ ํฐํธ๋ ค์ ธ ๋ฐ๊ตฌ๋์ ๋ค์ด๊ฐ์ง ์๋๋ค.
result += 2
๋ก ํฐํธ๋ ค์ ธ ์์ด์ง ์ธํ์ ์๋ฅผ ์ฌ๋ ค์ค๋ค.
๐ฉ๐ปโ๐ป Swift Code
import Foundation
func solution(_ board:[[Int]], _ moves:[Int]) -> Int {
var copiedBoard = board
var basket: [Int] = []
var doll: Int = 0
var result: Int = 0
for move in moves {
for i in 0..<board.count {
doll = copiedBoard[i][move - 1]
if doll != 0 {
copiedBoard[i][move - 1] = 0
if basket.count > 0 && basket.last == doll {
basket.removeLast()
result += 2
break
} else {
basket.append(doll)
break
}
}
}
}
return result
}
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์
[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4
programmers.co.kr
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (์ ํด๋ฆฌ๋ ํธ์ ๋ฒ) (0) | 2021.04.05 |
---|---|
[Algorithm] ์์ ์ฐพ๊ธฐ (์๋ผํ ์คํ ๋ค์ค์ ์ฒด) (0) | 2021.04.05 |
[Algorithm] N์ผ๋ก ํํ (๊น์ด ์ฐ์ ํ์(DFS)) (0) | 2021.03.19 |
[Algorithm] ๋๋จธ์ง ํ ์ (ternary(?:), XOR(^), map) (0) | 2021.03.19 |
[Algorithm] ์๋ฆฟ์ ๋ํ๊ธฐ (map, reduce) (0) | 2021.03.19 |
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- ๋ณ์ก
- Algorithm
- abs()
- ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
- BOJ
- TIL
- mysql
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ์๋กํ ์คํ ๋ค์ค์ ์ฒด
- Kakao
- java
- sql
- calendar
- ๊น์ด ์ฐ์ ํ์
- iTunes Search API
- SWIFT
- UISearchController
- ๋ฌ๋ ฅ
- Baekjoon
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ต์๊ณต๋ฐฐ์
- DFS
- compactMap
- IOS
- Git
- ternary
- map
- programmers
- ์ต๋๊ณต์ฝ์
- Firebase
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
๊ธ ๋ณด๊ดํจ