ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Codility] CyclicRotation
    Algorithm 2020. 11. 20. 01:21

    CyclicRotation

    코딜리티 Lesson2에 있는 CyclicRotation에 대한 기록입니다.

     

    문제

    정수형의 배열과 K의 회전 수가 주어집니다. 회전 수만큼 맨 끝 요소는 맨 앞으로 이동시켜가며 배열을 한칸씩 우측으로 시프트 시키는 문제입니다.

    자세한 문제는 여기를 참고해주세요.

     

    나의 풀이

    1. ArrayList Collection을 생성하여 할당
    2. K만큼 루프를 돌며 마지막 인자를 꺼내 삭제하고 add(index, data)를 통해 한 칸씩 밀어냄
    3. A에 재 배치

    풀이보고서 (클릭)

     

    리뷰

    처음에는 Queue를 통해 풀어보려고 하다가 실패했습니다. ArrayList에 할당하여 요소를 컨트롤하는 게 익숙하기도 하고 편해서 ArrayList를 통해 풀었는데, 알고리즘 문제에 익숙한 분들은 배열만으로 간단히 해결하는것과 K를 한칸씩 이동시키려 했는데 K만큼 한 번에 이동시키는 방법이 더 효과적인 것을 느꼈습니다.

     

    풀이보고서를 보면 87%가 나왔는데 A에서 empty를 넘겨줄 줄은..

    부끄러운 알고리즘 풀이 끝.

    'Algorithm' 카테고리의 다른 글

    [Codility] CyclicRotation  (0) 2020.11.20
    [Codility] BinaryGap  (0) 2020.11.19
    [Algorithm] 버전 비교 알고리즘 (Version Compare)  (0) 2019.07.26

    댓글 0

Designed by Tistory.