분류 전체보기
-
CyclicRotation알고리즘/Codility 2020. 9. 13. 21:24
app.codility.com/demo/results/training8K9DTZ-447/ Test results - Codility An array A consisting of N integers is given. Rotation of the array means that each element is shifted right by one index, and the last element of the array is moved to the first place. For example, the rotation of array A = [3, 8, 9, 7, 6] is [6, 3, 8, 9, app.codility.com 문제) 배열 A의 값을 K만큼 우측으로 이동시켜 출력. 마지막 배열의 값은 배열의 첫번째로..
-
BinaryGap알고리즘/Codility 2020. 9. 13. 21:13
문제) 정수 N에서 binaryGap의 최댓값을 찾아라. binaryGap이란 1로 둘러쌓인 0의 개수로, 예) N이 529일때, 2진수로는 1000010001 이때, binaryGap의 최댓값은 4. binaryGap이 없으면 return -1; 나의 해답 import java.util.*; class Solution { public int solution(int N) { int answer = 0; if(N == 1 || N == 0){ return answer; } int mok = 0; List list = new ArrayList(); while (mok != 1) { mok = (N / 2); list.add((N % 2)); if (mok == 1) { list.add(mok); } N = ..
-
카카오 - 데모 테스트알고리즘/프로그래머스 2020. 9. 11. 22:57
직사각형 만들기 . 문제 설명 직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 v가 매개변수로 주어질 때, 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 return 하도록 solution 함수를 완성해주세요. 단, 직사각형의 각 변은 x축, y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다. 제한사항 v는 세 점의 좌표가 들어있는 2차원 배열입니다. v의 각 원소는 점의 좌표를 나타내며, 좌표는 [x축 좌표, y축 좌표] 순으로 주어집니다. 좌표값은 1 이상 10억 이하의 자연수입니다. 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 [x축 좌표, y축 좌표] 순으로 담아 ..
-
체육복 - 탐욕법알고리즘/프로그래머스 2020. 8. 20. 20:40
문제 : 문제를 푸는데 꽤나 오랜 시간이 걸린 문제다. 나의 해답 public int solution(int n, int[] lost, int[] reserve) { int answer = n - lost.length; List list = new LinkedList(); for (int lostStd : lost) { list.add(lostStd); } List reserveList = new ArrayList(); for (int i : reserve) { if (list.indexOf(i) != -1) { list.remove(list.indexOf(i)); answer += 1; } else { reserveList.add(i); } } for (int i : reserveList) { int ..
-
[1차] 비밀지도알고리즘/프로그래머스 2020. 8. 20. 14:45
출처 : https://programmers.co.kr/learn/courses/30/lessons/17681?language=java 문제가 넘나 길당. 근데 입력받은 수를 이진수로 변경, 두개의 배열의 값중 하나라도 1이 있으면# 둘다 영이면 공백 출력 요것만 기억하면 될것 같다. 나의 해답. class Solution { private int[] parseBinaryNumber(int length, int number) { int[] intArr = new int[length]; int mok = number; length -= 1; if(number == 0) { return intArr; } while(mok != 1) { intArr[length] = (mok%2); mok = mok/2; l..