프로그래머스
이중우선순위큐
끝까지 처음처럼
2022. 11. 30. 12:17
728x90
class Solution {
fun solution(operations: Array<String>): IntArray {
var answer = intArrayOf()
var tempList = mutableListOf<Int>()
operations.forEach{
if(it.split(" ")[0] == "I"){
tempList.add(it.split(" ")[1].toInt())
} else if(it.split(" ")[0] == "D" && it.split(" ")[1] == "1" && tempList.isNotEmpty()){
tempList.remove(tempList.maxOrNull())
} else if(it.split(" ")[0] == "D" && it.split(" ")[1] == "-1" && tempList.isNotEmpty()) {
tempList.remove(tempList.minOrNull())
}
}
if(tempList.isEmpty()){
answer += 0
answer += 0
} else {
answer += tempList.maxOrNull()!!
answer += tempList.minOrNull()!!
}
return answer
}
}
상기 코드는 해당 문제가 원하는 풀이가 아님을 말씀드립니다.
큐를 이용하여 풀어야 하지만 현재 실력이 아직 못미쳐 일단 리스트를 이용하여 작성하였습니다.
추후 해당 문제는 큐를 작성하여 추가로 코드를 작성 할 수 있도록 하겠습니다.