일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- prefix sum
- two sum
- tree
- 망원 밥집
- 알탕뚝배기
- java
- two pointers
- 사당돈
- 코테
- 해물감성포차
- Array
- algorithum
- 코딩 테세트
- 코딩 테스트
- linked list
- findDulicate
- LeetCode
- map
- string
- 6월 첼린지
- invert Binary Tree
- algorithm
- 알고리즘
- 투포인터
- 맛집
- 발리인망원
- 른당사피
- Python
- Find the Duplicate Number
- 발리 음식
- Today
- Total
목록알고리즘/Codility (5)
기록하는 공간
문제N의 길이를 가지는 A라는 배열이 있다. A라는 배열에는 1 부터 (N + 1) 까지 수 중에 중복되지 않게 랜덤으로 들어가 있다.N의 범위는 1~100,000 입니다. function solution(A) { const arrayLength = A.length; let i = 1; if (arrayLength { return f-s; }); while (i
문제작은 두꺼비가 한마리 있다. 두꺼비가 X위치에서 D라는 거리만큼 점프할 때, Y에 도착하려면 몇번을 점프해야 하는 지 구하는 문제 입니다.X, Y, D의 범위는 1~1,000,000,000 입니다.코드// you can write to stdout for debugging purposes, e.g. // console.log('this is a debug message'); function solution(X, Y, D) { // write your code in JavaScript (Node.js 8.9.4) let n = 0; if (X>=Y){ return 0; } else { let temp = Math.floor((Y - X) / D); let mod = Math.floor((Y - X) %..
문제배열안에 있는 수를 정해진 인수만큼 오른쪽 으로 한칸씩 회전시키는 문제 입니다.예를들면 A라는 배열[6, 7, 5, 4, 3]을 오른쪽으로 한칸씩 2칸 이동해서 [4,3,6,7,5] 만들면 됩니다.정수의 범위는 1~2,147,483,647 이다.(int형의 양수 최대 표현 범위)코드 function solution(A, K){ let n = 0; while(n < K){ A.unshift(A[A.length - 1]);A.pop(); n ++;}return A; }
문제양수의 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를 리턴하면 된다.정수의 범위는 1~2,147,483,647 이다.(int형의 양수 최대 표현 범위)복잡도 요구사항(시간복잡도 O(log(N)), 공간복잡도 O(1)) 코드function readMaxValueInResult (result){ const result_split = re..
문제배열에 속한 값 중에서 동일한 값이 아닌 값을 찾는 문제 입니다.예를들면 A[3]라는 배열에서 A[0] = 3, A[1] = 9, A[2] =3이 있을 때 9를 찾으면 됩니다.정수의 범위는 1~2,147,483,647 이다.(int형의 양수 최대 표현 범위)코드 function solution(A) { // write your code in JavaScript (Node.js 8.9.4) const temp = []; let result = 0; A.forEach((N,index) => { if (!temp.includes(A.indexOf(N))){ result = N; } temp.push(A.indexOf(N)); }) return result;} 첫번째 테스트 케이스만 성공해서 제출했더니, 다..