SW Test/Programmers
[Programmers] Lv2.ํ๋ฆฐํฐ(kotlin)
An effort will never betray ๐
2022. 9. 30. 18:38
๋ฐ์ํ
๋ฌธ์
์์
ํ์ด
- ๋ฌธ์๋ฅผ ๋นผ๊ณ ์ค์ํ ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์ ๋ค๋ก ์ถ๊ฐํ๋ ๋ฐฉ์์ ์ ํ์ ์ธ ํ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค.
- kotlin์๋ ๋ด์ฅ๋ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๊ธฐ ๋๋ฌธ์ java์ LinkedList ๋ฅผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
import java.util.*
class Solution {
fun solution(priorities: IntArray, location: Int): Int {
var answer = 0
val plist = priorities.sortedByDescending{it}
var pidx = 0
val q = LinkedList<Pair<Int, Int>>().apply{
priorities.forEachIndexed { index, i -> add(Pair(index, i))}
}
while(q.isNotEmpty()){
val node = q.pop()
if(node.second == plist.get(pidx)){
answer++
pidx++
if(node.first == location){
break;
}
}else{
q.add(node)
}
}
return answer
}
}
์ฐธ๊ณ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ kotlin์ ํน์ฑ์ ๋ง๊ฒ ํจ์๋ฅผ ๋ง์ด ์ตํ์ ๐ฝ
- Java์ LinkedList๋ Double Linked List ํํ๋ก ๊ตฌํ๋์ด ์์ผ๋ฉฐ, Deque ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํ์ฌ ๋ฉ์๋๋ค๋ ๊ตฌํ๋์ด ์์ด์ ํ์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐ์ํ