본문 바로가기

Codility

(3)
[코딜리티/Codility] CyclicRotation 문제 # 문제 배열이 주어지고 정수가 주어지면, 정수의 수 만큼 배열의 끝값을 앞으로 옮기고, 정리된 배열을 리턴하는 함수를 만들라는 것이다. 메게변수로는 A와 K가 주어진다.A는 정수 배열이 넘어오고 K는 로테이션 횟수이다. 예를 들어 A = [3, 8, 9, 7, 6]K = 3 가 주어지면 리턴 배열은 [9, 7, 6, 3, 8] 가 된다. 다른 수로 예를 들어보자.K=5이라면 [3, 8, 9, 7, 6] -> [6, 3, 8, 9, 7][6, 3, 8, 9, 7] -> [7, 6, 3, 8, 9][7, 6, 3, 8, 9] -> [9, 7, 6, 3, 8] 이런식으로 나올테고 A = [0, 0, 0]K = 1 라면 [0, 0, 0] 이 나올것이다. A = [1, 2, 3, 4]K = 4 라면 [1, 2,..
[코딜리티/Codility] OddOccurrencesInArray 문제 # 문제 간단하게 말하면 중복값을 제거한 후 나머지 유니크한 값을 리턴해주는 함수를 만드는 것이다.예를 들어 A[0] = 9 A[1] = 3 A[2] = 9 A[3] = 3 A[4] = 9 A[5] = 7 A[6] = 9 위와 같은 배열이 들어오면 인덱스 0, 2가 9의 값으로 중복이므로 삭제인덱스 1, 3가 3의 값으로 중복이므로 삭제인덱스 4, 6가 9의 값으로 중복이므로 삭제나머지 7의 값이 유니크 값이므로 7을 리턴해 줌 이런식으로 소스코드를 구현해 주면 된다. # 초기 소스코드 1234567891011121314151617181920class Solution { public int solution(int[] A) { int index = 0; String ValueTxt = ""; // 배열의 ..
[코딜리티/Codility]이진 갭(Binary Gap) 알고리즘 # 여는 글 안녕하세요, 음냐음 입니다.여러분들은 코딜리티(Codility)라는걸 아십니까?저도 우연찮게 코딜리티(Codility)를 알게되었는데,알고리즘 풀이 사이트입니다.저도 한번, 풀어봤는데 꽤 괜찮더라구요.그런의미에서 한번 공유해 보겠습니다. # 문제 양수의 int 형 숫자를 이진수로 표현하였을때 1과 다른 1의 차이(Binary Gap), 즉 1과 다른 1사이의 0의 개수가 최대인 경우를 찾아야 한다.예를들면 9는 이진수로 1001 이니 1과 1사이에 0이 2개가 있어 Binary Gap의 길이는 2이다. 529같은 경우는 이진수1000010001 이며 Binary Gap 은 총 2개인데, 100001의 부분의 4와 1001 부분의 3이다. 이때 최대값은 4이므로 4를 리턴하면 된다.정수의 범위..