-
[Programmers] Lv1. ํฌ๋ ์ธ ์ธํ ๋ฝ๊ธฐ(kotlin)SW Test/Programmers 2022. 7. 13. 23:32๋ฐ์ํ
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/64061?language=kotlin ์์
https://school.programmers.co.kr/learn/courses/30/lessons/64061?language=kotlin ํ์ด
- ์ ํ์ ์ธ ์คํ์ ์ด์ฉํ์ฌ ํ ์ ์๋ ๋ฌธ์ ์ ๋๋ค.
- ์คํ ๋ฆฌ์คํธ๋ฅผ ํ๋ ์์ฑํ ํ ๋ฝ๋ ์์์ ๋ง๊ฒ ์คํ์์ ํ๋ ์ ๊ฑฐ์ํต๋๋ค.
- ์ ๊ฑฐ๋ ์ซ์๋ฅผ ๋ค๋ฅธ ์คํ์ ์ ์ฅํด๋๊ณ ๋ง์ฝ ์ ๊ฑฐ๋ ์ซ์์ ์คํ์ ์ต์๋จ ์ซ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ ์ ๊ฑฐํ๊ณ answer์ 2๋ฅผ ๋ํฉ๋๋ค.
import kotlin.math.* import java.util.* class Solution { fun solution(board: Array<IntArray>, moves: IntArray): Int { var answer = 0 val stackList = List(board.size){ Stack<Int>() } board.reverse() for(i in 0 until board.size){ for(j in 0 until board.size){ if(board[i][j] != 0){ stackList.get(j).add(board[i][j]) } } } val s = Stack<Int>() moves.forEach{ if(stackList.get(it - 1).isNotEmpty()){ if(s.isEmpty()){ s.add(stackList.get(it-1).pop()) }else{ if(s.peek() == stackList.get(it-1).peek()){ answer+=2 stackList.get(it-1).pop() s.pop() }else{ s.add(stackList.get(it-1).pop()) } } } } return answer } }
์ฐธ๊ณ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ kotlin์ ํน์ฑ์ ๋ง๊ฒ ํจ์๋ฅผ ๋ง์ด ์ตํ์ ๐ฝ
- ์ฐธ๊ณ ๋ก kotlin์์๋ Stack ์๋ฃ๊ตฌ์กฐ๋ ์์ด์ java util ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๊ฐ์ ธ์์ ์ฌ์ฉํ๊ฑฐ๋ ๋ฆฌ์คํธ๋ฅผ ์คํ๊ณผ ์ ์ฌํ๊ฒ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
- https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/
List - Kotlin Programming Language
kotlinlang.org
๋ฐ์ํ'SW Test > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] Lv1. ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด(kotlin) (0) 2022.07.17 [Programmers] Lv1.ํคํจ๋ ๋๋ฅด๊ธฐ(kotlin) (0) 2022.07.16 [Programmers] Lv1.์์ ๋ง๋ค๊ธฐ(kotlin) (0) 2022.07.12 [Programmers] Lv1. K๋ฒ์งธ ์(kotlin) (0) 2022.07.09 [Programmers] Lv1.๋ชจ์๊ณ ์ฌ(kotlin) (0) 2022.06.04