일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algorithm
- alogrithim
- 알고리즘
- Time Conversion
- Grading Students
- Migratory Birds
- Ellectronics Shop
- Sock Merchant
- 생활코딩
- git
- Divisible Sum Pairs
- hackerrank
- 노드
- Birthday Chocolate
- #nodejs#express
- 자료구조
- Breaking the Records
- A Very Big Sum
- 프로그래머스
- algorithim
- 자바스크립트
- nodejs
- Apple and Orange
- Data Structure
- #nodejs#노드js
- Javascript
- 짝수와 홀수
- Between Two Sets
- Drawing Book
- javascirpt
- Today
- Total
목록알고리즘 (60)
ian의 개발일기장
1. 나의 풀이 부호랑 숫자로 이루어진 문자열이라 Number를 활용했다. 2. 다른사람 풀이 문자열을 1로 나누었다. 3. 결론 숫자로이루어진 문자열은 Number함수 적용이 가능하거나 * 나 / 연산이 적용가능하다. 4. 정리 숫자로 이루어진 문자열 * 숫자 = 숫자숫자로 이루어진 문자열 / 숫자 = 숫자 출처 - 프로그래머스
1. 나의 풀이 길이가 4인지 6인지 먼저 판단을 하고나서, 그 이후 문자열안에 숫자로 이루어져있는지 판단하는것을 문제에서 시킨대로 했다. 길이가 4와 6이 아니라면 무조건 false를 return하게 했고, 길이가 4와 6일때, for문을 통하여 숫자인지 체크했다. 숫자인지 체크하기 위해 문자를 원소를 숫자로 바꾼뒤 그것이 숫자가 맞는지 판단했다. 2. 다른사람 풀이 두가지 풀이를 올렸다. 1개는 정규표현식을 활용했고, 1개는 isNaN함수를 이용했다. 3. 결론 isNaN함수를 공부해야겠다. 4. 정리 예제를 통해서 NaN을 판별하는것을 볼 수 있다. 출처 - 프로그래머스, MDN공식문서
1. 나의 풀이 대문자와 소문자의 개수를 세기 위해서, 모든 문자를 소문자화 시켰다. 그리고 모든 개수를 세어서 비교를 했다. 2. 다른사람 풀이 정규표현식을 이용해서 간단히 풀었다. 3. 결론 정규표현식을 알면 편하다. 4. 정리 정규식은 패턴을 작성할줄 알아야한다. 패턴 작성법은 공홈에 자세히 나와있으니, 링크를 참조하길 바란다. 출처 - 프로그래머스, MDN공식문서
1. 나의 풀이 유클리드호제법을 이용해서 최대공약수를 구했다. while문이 끝나고 b를 console.log(b)로 찍어보면, 최대공약수가 나온다. 최소공배수는 두수의 곱을 최대공약수로 나누면 간단히 구할 수 있다. 2. 다른사람 풀이 최대공약수 구하는것을 재귀함수를 이용해서 풀었다. 3. 결론 유클리드 호제법을 공부해보자. 4. 정리 유클리드 호제법을 알면, 최대공약수를 프로그래밍적으로 쉽게 구할 수 있다. 물론 다른 방법으로도 구할수 있다. 출처 - 프로그래머스, 위키백과
1. 나의 풀이 일단 출력값이 배열이라 결과를 리턴하기 위해, 빈 배열을 만들었다. 그리고 양옆을 비교하면서, 서로 다를때 왼쪽원소만 결과배열에 추가시켰다. 2. 다른사람 풀이 filter 함수를 이용한 짧은 코드 풀이이다. 3. 결론 filter 함수에 익숙해져야겠다. 4. 정리 callback 이 true가 되는 element만 모아서, 배열로 결과를 리턴한다. 출처 - 프로그래머스, MDN공식문서
문제 오타인것 같다. 626331이다. 1. 나의 풀이 while문을 이용하여, count를 세어 return 시켰다. 2. 다른사람 풀이 재귀함수를 이용한 풀이다. 3. 결론 재귀함수와 오랜만에 쓴 while문에 익숙해져야겠다. 4. 정리 조건이 거짓이 되면 while 문은 끝난다. 출처 - 프로그래머스, MDN공식문서
1. 나의 풀이 문제 의도대로 자릿수의 합을 구해서, 원래 숫자가 나누어 떨어지는것을 이용했다. 입력값이 숫자여서, 자릿수의 합을 구하기위해서 숫자를 배열로 바꾸려고 String 과 map을 이용했다. 그리고 자릿수의 총합을 구하기 위해서 reduce를 이용했다. 2. 다른사람 풀이 로직은 거의 비슷하나, 세부사항이 약간 다르다. 숫자를 문자열로 바꾸는법과 문자열을 숫자로 바꾸는법, 그리고 true, false를 return하는 방법이 조금다르다. 3. 결론 숫자모양을 가진 문자열을 숫자로 바꾸는 방법은 +'숫자모양문자열' 이다. 컴퓨터 언어에서 1은 true , 0은 false 다. 4. 정리 출처 - 프로그래머스, MDN공식문서
1. 나의 풀이 원래의 숫자를 약수로 나누면 나머지가 0인것을 이용했다. 2. 다른사람 풀이 ES6 문법을 이용했다. 3. 결론 수학공부? 4. 정리 위키피디아에서 약수에 대해 더 공부합시다. 출처 - 프로그래머스
1. 나의 풀이 숫자를 배열로 바꾸기 위해서, String을 이용해 문자열로 바꾼후 split을 이용해 배열로 바꾸었다. 그리고 map을 이용해서 배열의 모든원소들을 숫자로 바꾸었다. 숫자를 큰수부터 작은수로 배치하기 위해서 sort를 이용해서 내림차순으로 정렬후, join을 이용해서 배열을 없앴다. 그리고 숫자로 결과를 리턴하기위해 다시 숫자로 바꾸어주었다. 2. 다른사람 풀이 아이디어는 비슷하다. 다만 reverse를 활용했다. sort()로 오름차순으로 정렬후, reverse를 이용했다. 3. 결론 sort에 대해 조금더 이해했다. 4. 정리 [1, 10, 2]를 그냥 sort()로 실행하면, [1, 10, 2]로 출력된다. sort 안에 callback을 넣어주면 내림차순이나 오름차순으로 정렬 할..