일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algorithm
- #nodejs#노드js
- Divisible Sum Pairs
- Birthday Chocolate
- Apple and Orange
- alogrithim
- 자바스크립트
- algorithim
- Breaking the Records
- 프로그래머스
- Grading Students
- #nodejs#express
- hackerrank
- Drawing Book
- Javascript
- 자료구조
- A Very Big Sum
- git
- javascirpt
- Ellectronics Shop
- Between Two Sets
- 알고리즘
- Time Conversion
- Migratory Birds
- 생활코딩
- 노드
- 짝수와 홀수
- Sock Merchant
- Data Structure
- nodejs
- Today
- Total
목록Algorithms (59)
ian의 개발일기장
1. 나의 풀이 모든 가격의 합을 구해서, 예산보다 작거나 같은값들을 price 배열에 push하였다. price배열에 원소가 없으면 -1, 아니면 거기서 최댓값을 출력한다. 2. 정리 array.filter(테스트함수(원소, 인덱스)) 출처 - HackerRank, MDN공식문서
1. 나의 풀이 1~n까지 모든 페이지를 구해서, indexOf를 이용하여 찾고자하는 p페이지의 인덱스를 찾는다. 인덱스를 2로 나눈 몫으로 몇번페이지를 넘겼나 알 수 있다. 다만, 앞에서부터 페이지를 찾을 때, 1페이지가 1면만 있기 때문에, 인덱스에 1을 더해주어야 한다. n페이지가 짝수이면, 맨마지막 페이지도 1면만 있기 때문에 인덱스에 1을 더해주고, 아니면 더해주지않았다. 2. 정리 array.indexOf(인덱스를 찾을 원소) 출처 - HackerRank, MDN공식문서
1. 나의 풀이 각 새들의 아이디와 아이디의 개수를 객체에 저장해서, 개수가 제일많은 것을 찾아서 그것의 id를 return시키도록 하였다. 2. 정리 객체를 반복할 땐, for in문을 쓰면된다. 출처 - HackerRank, MDN공식문서
1. 나의 풀이 양말의 짝이 맞는 숫자를 찾는 문제다. 그래서 우선 각 양말의 종류를 구하는 unique 배열을 만들어서 forEach를 통해 양말의 종류들을 구했다. 그다음 ar에 양말의 각각 종류가 몇개있는지 count배열에 담았다. 그리고 각 count에 있는 숫자들을 2로 나누고, 내림을 하여 양말의 짝이 맞는 숫자를 구하였다. 2. 정리 객체를 이용하면 조금더 쉽게 풀 수 있을것 같다. 출처 - HackerRank
1. 나의 풀이 문제에서 시키는 대로 했다. 실제 값과 anna가 낼 비용이 일치하면 'Bon Appetit'을 출력하고, 아니면 그 차이를 출력하도록 하였다. 2. 정리 정리할만한게 없다. 클린코드를 짜도록 고민해봐야겠다. 출처 - HackerRank
1. 나의 풀이 reduce를 이용해 간단하게 구했다. 2. 정리 forEach문이나 for문을 활용해도 될 것 같다. 출처 - HackerRank, MDN공식문서
1. 나의 풀이 for문을 중첩하여, 모든 pair의 합을 만든 후, k로 나누어 떨어지는지 검사 하였다. 2. 정리 Map을 이용해서 풀수도 있다고 한다. 생각해봐야겠다. 출처 - HackerRank, MDN공식문서
1. 나의 풀이 인접한 초콜렛을 month만큼 짤라서, 정수의 합이 day와 같은 경우의 수를 세는 문제이다. 그래서 인접한 초콜렛을 for문과 slice를 통해서 자르고, 그 합을 reduce를 이용해 구한 다음 day와 비교 했다. 2. 정리 slice는 배열을 잘라서 복사합니다. 다만 end index를 입력시 end부분은 포함하지않고 자릅니다. 사용법 - array.slice (자르기 시작할인덱스, 끝 인덱스 ); 출처 - HackerRank, MDN공식문서
1. 나의 풀이 배열의 시작값을 비교값으로 놓고, 각 원소들을 비교해서 더 커지면 최고기록을 바꾸고, 더낮아지면 최저기록을 바꾸어서 기록이 높아지거나 낮아지는 횟수를 세었다. 2. 정리 위의 코드를 forEach를 이용해서 바꿀 수 있을 것 같다.forEach는 배열의 요소를 돌면서 각원소에 콜백함수를 실행한다. 사용법 - array.forEach (콜백함수(현재원소, 인덱스, 배열), 콜백을 실행할 this); 출처 - HackerRank, MDN공식문서