본문 바로가기

IT/알고리즘2

[코딜리티] CyclicRotation 코딜리티 프로그래머 두 번째 Lesson 문제인 CyclicRotation 은 정렬되지 않은 n개의 숫자 배열(array)에 있는 값들을 하나씩 오른쪽으로 옮기는데 파라미터로 몇번 옮겨야 하는지(k)도 같이 주어집니다. (int[] array, int k) 옮겨야되는 수(k)가 3이라면 총 3번 오른쪽으로 옮기면 됩니다. 마지막에 있는 값은 첫 번째 자리로 옮기면 됩니다. ex)[1,2,3,4,5] -> [5,1,2,3,4] , [5,1,2,3,4] -> [4,5,1,2,3] , [4,5,1,2,3] -> [3,4,5,1,2] java로 구현을 하였는데, 의식에 흐름대로 풀고난 후에 다른 사람의 코드를 보고 자괴감이 들었습니다.. 코드를 짤 때, 조금 더 생각하면서 짜야겠다고 다시 한 번 느끼게 됬습니다.. 2018. 3. 19.
[코딜리티] Binary Gap 코딜리티 프로그래머 첫 번째 Lesson 문제인 BinaryGap 은 정수 10진수를 2진수로 변환한 후 1과 1 사이 0의 갯수를 구하고 그 중 가장 많은 0의 개수를 구하는 문제입니다. 예를 들어, 10진수 1041을 2진수로 변환하면 1000010001이 되는데 첫 번째 1과 1사이에 0의 개수는 5개이고, 두번째 1과 1사이의 0의 개수는 3개입니다.이중 첫번째 1과 1사이의 갯수가 5개로 가장 많으므로 이 숫자를 구하면 되는 문제입니다. (만약 15처럼 2진수가 1111 이면 0이 나오면 됩니다.) java와 php 코드로 작성했습니다. 1. java integer 클래스를 이용하는 방법. // you can also use imports, for example: // import java.ut.. 2018. 3. 11.