-
[Codility] CyclicRotationAlgorithm 2020. 11. 20. 01:21
CyclicRotation
코딜리티 Lesson2에 있는 CyclicRotation에 대한 기록입니다.
문제
정수형의 배열과 K의 회전 수가 주어집니다. 회전 수만큼 맨 끝 요소는 맨 앞으로 이동시켜가며 배열을 한칸씩 우측으로 시프트 시키는 문제입니다.
자세한 문제는 여기를 참고해주세요.
나의 풀이
- ArrayList Collection을 생성하여 할당
- K만큼 루프를 돌며 마지막 인자를 꺼내 삭제하고 add(index, data)를 통해 한 칸씩 밀어냄
- A에 재 배치
리뷰
처음에는 Queue를 통해 풀어보려고 하다가 실패했습니다. ArrayList에 할당하여 요소를 컨트롤하는 게 익숙하기도 하고 편해서 ArrayList를 통해 풀었는데, 알고리즘 문제에 익숙한 분들은 배열만으로 간단히 해결하는것과 K를 한칸씩 이동시키려 했는데 K만큼 한 번에 이동시키는 방법이 더 효과적인 것을 느꼈습니다.
풀이보고서를 보면 87%가 나왔는데 A에서 empty를 넘겨줄 줄은..
부끄러운 알고리즘 풀이 끝.
'Algorithm' 카테고리의 다른 글
[Codility] BinaryGap (0) 2020.11.19 [Algorithm] 버전 비교 알고리즘 (Version Compare) (0) 2019.07.26