프로그래머스

이중우선순위큐

끝까지 처음처럼 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
    }
}

상기 코드는 해당 문제가 원하는 풀이가 아님을 말씀드립니다. 

큐를 이용하여 풀어야 하지만 현재 실력이 아직 못미쳐 일단 리스트를 이용하여 작성하였습니다.

추후 해당 문제는 큐를 작성하여 추가로 코드를 작성 할 수 있도록 하겠습니다.