[프로그래머스] 특이한 정렬

Sdoubleu·2023년 5월 30일
0

프로그래머스

목록 보기
30/34
post-thumbnail

문제


내가 쓴 풀이

class Solution {
    fun solution(numlist: IntArray, n: Int): IntArray {
         val minusList = mutableListOf<Int>()
         for (i in numlist) minusList.add(i - n)
         val nums = mutableListOf<Int>()
         var num = 0
        
        while (true) {
            var plus = 0
            var minus = 0
            if (nums.size == numlist.size) break

            for(i in minusList){
                if(Math.abs(i) == num) {
                    if(i == 0) nums.add(numlist[minusList.indexOf(i)])
                    if(i < 0) minus = i else plus = i
                }
            }
            // 양수만 있을 경우
            if(plus != 0 && minus == 0) nums.add(numlist[minusList.indexOf(plus)])
            // 음수만 있을 경우
            if(plus == 0 && minus != 0) nums.add(numlist[minusList.indexOf(minus)])
            // 양수 음수 있을 경우
            if(plus != 0 && minus != 0) {
                nums.add(numlist[minusList.indexOf(plus)])
                nums.add(numlist[minusList.indexOf(minus)])
            }
            num++
        }
         
        return nums.toIntArray()
    }
}

다른 사람 풀이

profile
개발자희망자

0개의 댓글