본문 바로가기

이론/문제풀이

[Codility Lesson 2] Rotate Array

처음에 문제보고,

아 나 나중에 코딩 면접도 이런거만 나왔으면 좋겠다! 했는데, 웬걸 62점ㅋㅋㅋㅋㅋㅋ


항상 느끼지만 문제 꼼꼼하게 읽을 것,

작은 조건 하나하나 잘 따지면서 Degenerate Case 세울 것을 깨닫는 바이다.


class Solution {
    public int[] solution(int[] A, int K) {
        //빈 배열일 경우 -> 내 감점 요소 1
        if(A.length==0)
            return A;
        // K%N==0 -> 원래대로
        int N=A.length;
        //K가 배열 A의 길이보다 큰 경우 -> 내 감점요소 2
        K=K%N;
        //이동해야 할 index
        int mi=K%N;
        if(mi==0)
            return A;
        int[] newA=new int[N];
        for(int i=0; i<N; i++)
        {
            newA[i]=A[(i-K+N)%N];
        }
        return newA;
    }
}

모르는 문제 틀리는건 내 부족함이지만,

풀 수 있음에도 감점당하지 않도록 노력해야겠다 정말! ㅠ________ㅠ 많이 억울할거니까