본문 바로가기

고매의 기록

(187)
[Javascript] N개 배열로 순열 조합 문제 Q. N개의 숫자로 이루어진 배열를 받았을 때 조합할 수 있는 순열 경우의 수를 모두 구하자. function doTree(input) { let doTree_result = []; let result = []; if (input.length > 3) { for (let i = 0; i < input.length; i++) { let prev = 1; let copyArr = [...input]; prev = copyArr.splice(i, 1); doTree_result = doTree(copyArr); for (let j = 0; j < doTree_result.length; j++) { doTree_result[j].splice(0, 0, prev); console.log(`doTree_result..
[Javascript] 프로그래머스 코딩테스트 입문 K번째 수 function solution(array, commands) { let answer = []; for (let i = 0; i a - b); answer.push(copyArray[commands[i][2] - 1]); } return answer; } 2번째부터 5번째까지 잘라야 한다는 말은 인덱스 1번째부터 4번째까지 잘라야 한다는 말과 같다. 문제상에서 나오는 ~번째라는 말은 모두 -1로 배열상의 인덱스로 바꿔주고 sort()는 오류가 많으니 ..
[Javascript] 프로그래머스 코딩테스트 입문 모스부호(1) function solution(letter) { let morse = { ".-": "a", "-...": "b", "-.-.": "c", "-..": "d", ".": "e", "..-.": "f", "--.": "g", "....": "h", "..": "i", ".---": "j", "-.-": "k", ".-..": "l", "--": "m", "-.": "n", "---": "o", ".--.": "p", "--.-": "q", ".-.": "r", "...": "s", "-": "t", "..-": "u", "...-": "v", ".--": "w", "-..-": "x", "-.--": "y", "--..": "z", }; let answer = ""; letter.split(" ").ma..
[Javascript] 프로그래머스 코딩테스트 입문 팩토리얼 function solution(n) { let i = 1; let answer = 0; let result = 1; while (true) { result *= i; if (result > n) { answer = i - 1; break; } i++; } return answer; } let result = factorial(3628800); console.log(result); if문에 result > n 조건이 되면 이미 넘어버린 i값이 들어오고 break가 걸리므로 i-1값을 최종값으로 return해주었다.
[Javascript] 유클리드 호제법을 활용한 최대공약수(GCD), 최소공배수(LCM) 구하기 function getGCD(input) { if (input[0] < input[1]) { let temp = input[0]; input[0] = input[1]; input[1] = temp; } let r = input[0] % input[1]; input[0] = input[1]; input[1] = r; if (input[1] === 0) { } else { getGCD(input); } return input[0]; } function getLCM(nums, gcd) { let lcm = (nums[0] * nums[1]) / gcd; return lcm; } let nums = [500, 100]; let inputNums = [...nums]; let gcd = getGCD(inputNu..
[Javascript] 삼각형의 완성조건 (1) 처음 시도는 이렇게 했다. function solution(sides) { var answer = 0; var max = 0; var result = 0; for (let i = 0; i sides[j]) { max = sides[i]; } } } for (let i = 0; i max) { ans..
[Javascript] 프로그래머스 첫 번째로 나오는 음수 function solution(num_list) { var answer = 0; for(let i = 0; i < num_list.length; i++) { if(num_list[i] < 0) { answer = i; return answer; } else { answer = -1; } } return answer; } num_list 내에 -1가 나오는 순간 지체할 필요 없이 인덱스를 return하면 된다. 양수일 경우에는 계속 -1을 담다가 return해버리면 된다.
[Javascript] 최대공약수 구하기 // 최대공약수 구하기 function getGCD(twoNums) { console.log("getGCD() :: Start"); let divisors_0 = []; let divisors_1 = []; let commonDivisors = []; let pnYN = []; // 1. 먼저 두 수가 소수인지 아닌지 판별한다. pnYN.push(primeNumYN(twoNums[0]), primeNumYN(twoNums[1])); // 2. 두 수가 소수가 아니라면 if ( (pnYN[0] === false && pnYN[1] === false) || (pnYN[0] === false && pnYN[1] === true) || (pnYN[0] === true && pnYN[1] === false) ) ..