티스토리 뷰
https://app.codility.com/programmers/lessons/2-arrays/cyclic_rotation/
CyclicRotation coding task - Learn to Code - Codility
Rotate an array to the right by a given number of steps.
app.codility.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
class Solution {
public int[] solution(int[] A, int K) {
if(A.length == 1) {
return A;
}
int remainder = K % A.length; //배열 길이만큼 rotation시키면 다시 처음 배열 상태로 돌아오기 때문에 나머지만 필요
int tempSize = A.length - remainder;
int[] tempArr = new int[tempSize]; //뒤로 밀릴 숫자들 넣어두는 배열
ArrayList<Integer> answerList = new ArrayList<>();
for(int i = 0; i < A.length; i++) {
if(i < tempSize) {
tempArr[i] = A[i];
} else {
answerList.add(A[i]);
}
}
for(int tempNum : tempArr) {
answerList.add(tempNum);
}
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
empty array까지 고려하란 말이 없었는데, 채점해보니 empty array때문에 점수가 깎였다.
그래서 A 배열의 길이로 empty array를 골라내주니 100% !!
배열 길이만큼 로테이션시키면 결국 다시 처음 배열로 돌아온다.
예를 들어 ([1,2,3], 3) 일 경우,
[3,1,2] -> 1
[2,3,1] -> 2
[1,2,3] -> 3
따라서 나머지만 가지고 로테이션 돌리면 된다.
tempArr 배열에 뒤로 밀릴 숫자들을 저장하고 새 ArrayList에 로테이션 순서에 맞춰 넣어주면 끝!
'기초CS > 알고리즘' 카테고리의 다른 글
[Codility] Lesson 3 : FrogJmp (자바/JAVA) (0) | 2019.08.18 |
---|---|
[프로그래머스] 알고리즘 연습 문제 : 기능개발 (자바/JAVA) (0) | 2019.08.06 |
[Codility] Lesson 2 : OddOccurrencesInArray (자바/JAVA) (0) | 2019.07.16 |
[Codility] Lesson 1 : BinaryGap (자바/JAVA) (0) | 2019.07.16 |
[프로그래머스] 알고리즘 연습 문제 : 124 나라의 숫자 (자바/JAVA) (0) | 2019.06.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 완주하지 못한 선수
- 예매 알림
- 문자열 내 마음대로 정렬하기
- FrogJmp
- 기능개발
- 더 나은 내일
- 다음 맵 api
- 쇠막대기
- 맵 api
- AWS
- json
- 124 나라의 숫자
- 노션트렐로광고X
- 타겟 넘버
- codility
- java
- 자바
- 파이팅코리아
- cgv
- 스프링 부트
- Spring
- 프로그래머스
- 최솟값
- 카카오인턴
- 객체지향과 디자인패턴
- API
- 텔레그램
- 알고리즘
- 안드로이드 스튜디오
- K번째수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함