[TIL] 카테고리
-
[자바스크립트] 프로그래머스 Lv.1 콜라츠 추측[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 16. 09:58
while (num != 1) { // num이 1이 되기 전까지만 반복한다 if (count === 500) { count = -1; break; // 500번 작동했다면 반환값을 -1로 하고 강제 종료 } else if (num % 2 === 0) { num /= 2 //기본조건이 충족되었다면, 짝수일때는 숫자를 2로 나누고 } else { num = num * 3 + 1 } // 홀수일떄는 숫자*3+1 을 해준다 count++ // 카운트가 1씩 올라간다. } https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면,..
-
[자바스크립트] 프로그래머스 Lv.1 제일 작은 수 제거하기[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 16. 09:56
if (arr.length > 1) { // 배열의 길이가 1보다 큰 경우에만 arr.splice(arr.indexOf(Math.min.apply(null,arr)),1) // 가장 작은값의 인덱스를 찾아 삭제시킵니다. } else { arr[0] = -1 } // 배열의 길이가 1이하면 [-1]이 리턴됩니다. https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr
-
[자바스크립트] 프로그래머스 Lv.1 정수 제곱근 판별[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 16. 09:55
if (Math.sqrt(n)%1 === 0) { //n의 제곱근이 정수라면 answer = (Math.sqrt(n)+1) ** 2 // 정답은 n의 제곱근+1을 제곱한 값이다 } else { answer = -1} //만약 아니라면, 정답은 -1 이다. 제곱근 어떻게 구해줘야 하나 .. 수학공부 다시해야하나.. 정말 한참을 고민하다가 .... 그냥 제곱근을 구해주는 메서드가 있다는 걸 알게되었다. ....... 허무해 https://programmers.co.kr/learn/courses/30/lessons/12934 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고,..
-
[자바스크립트] 프로그래머스 Lv.1 정수 내림차순으로 배치하기[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 16. 09:53
let answer = n.toString().split('').sort(function(a,b){return b-a}).join('')*1 //주어진 숫자를 -> 문자열 -> 배열로 바꾸고 -> 정렬 -> 합쳐서 -> 다시 문자열로 이전 문제와 푸는 과정이 상당히 비슷했다. 단순히 숫자 배열을 바꾸고 문자열로 돌려주는 것이라 어렵지 않았다 https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 pr..
-
[자바스크립트] 프로그래머스 Lv.1 자연수 뒤집어 배열로 만들기[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 16. 09:01
let answer = n.toString().split('').reverse() //주어진 숫자를 -> 문자열 -> 배열로 바꾸고 뒤집기 for (i = 0; i < answer.length; i++) { answer[i] = answer[i]*1 // 값을 숫자로 만들어주기; } for문 안쓰고 그냥 join 한다음 숫자로 바꾸는게 나았을 것 같다. https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입..