알고리즘(15)
-
순서쌍 갯수
function solution(n) { let count = 0; for (let i = 1; i if (n % i === 0) { count += 1; if (i !== n / i) { count += 1; } } } return count; } // 예시 테스트 console.log(solution(12)); // 출력: 6 console.log(solution(28)); // 출력: 6 못 푼 문제 이런식으로 접근 할 수 있다는 걸 기억해둬야지
2024.05.23 -
3진법 뒤집기
코드 카타 LV3 입성 기념 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. function solution(n) { var answer = 0; let third = n.toString(3).split("").reverse().reduce((a, b) => a + b) let a = parseInt(third,3) // console.log(a) return a; }
2023.12.27 -
최대공약수와 최소공배수
문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 입출력 예 nmreturn 3 12 [3, 12] 2 5 [1, 10] function solution(n, m) { let l = n * m //최대공약수 G 최소공배수 L = G a b //A B = G l let r let g let result = [] //유클리드 호제법 while (n != 0) { r = m % n m = n n = r } g = m return [g , l/g..
2023.12.25 -
부족한 금액 관리하기
문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 입출력 예 pricemoneycountresult 3 20 4 10 입출력 예 설명 입출력 예 #1 이용금액이 3인 놀이기구를 4번 타고 싶은 고객이 현재 가진 금액이 20이라면, 총 필요한 놀이기구의 이용 금액은 30 (=..
2023.12.17 -
문자열 내림차순으로 배치하기
function solution(s) { // a>A //모든 문자열을 갖고 필터로 찾은 다음. //s를 쪼개서 넣고 그게 맞는 지 필터로 확인 let b = s.split("").sort().reverse().reduce((a,b)=>a+b) return b =========================================================================== // console.log("b",b) // var answer = ["abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ"] // console.log(s[0][0]) // console.log(answer[0][0]) // let arr = []; // for (let..
2023.12.15 -
약수의 개수와 덧
function solution(left, right) { //a ~b까지 수 중 약수 개수 기본 짝수 +//홀수 - //범위 특정. var answer = []; let arr = []; let odd = []; let even = [] for (let i=left ; i a + b, 0) // console.log(e); return e-o } 중간에 막힌 부분이 있긴 했지만 그래도 풀었다. 꾸준히 하면 된다.
2023.12.13