본문 바로가기

Algorithm

(76)
[프로그래머스] 폰켓몬 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(nums) { const pickableNumber = nums.length / 2; const ponketMonSet = new Set(nums); return Math.min(pickableNumber, ponketMonSet.size); } Reference 프로그래머스
[프로그래머스] 문자열 내 마음대로 정렬하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(strings, n) { return strings.sort((a, b) => { const comparedNumber = a.charCodeAt(n) - b.charCodeAt(n); if (comparedNumber === 0) { if (a > b) return 1; if (b > a) return -1; } else { return comparedNumber; } }); } Reference 프로그래머스
[프로그래머스] 콜라츠 추측 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(num) { let count = 0; function collatz(num){ // num이 1이면 중단 if (num === 1) { return; } // count가 500이면 중단 if (count === 500) { count = -1; return; } count += 1; const isEven = num % 2 === 0; if (isEven) { const dividedNum = num / 2; collatz(dividedNum); } else { const multipliedNum = num * 3 + 1; collatz(multiplied..
[프로그래머스] 두 개 뽑아서 더하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(numbers) { const answer = []; // numbers의 길이 const numbersLength = numbers.length; // 1. numbers 순회 for (let i = 0; i
[프로그래머스] 문자열 내 p와 y의 개수 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(s){ // p의 갯수 let pEA = 0; // y의 갯수 let yEA = 0; // 문자열 -> 배열 -> forEach로 순회 s.split('').forEach((string) => { const convertedString = string.toLowerCase(); if (convertedString === 'p') pEA += 1; if (convertedString === 'y') yEA += 1; }) return pEA === yEA; } Reference 프로그래머스
[프로그래머스] 문자열 내림차순으로 배치하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(s) { return s.split('').sort().reverse().join(''); } Reference 프로그래머스
[프로그래머스] 소수 만들기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(nums) { let answer = 0; // 1. nums의 요소를 처음부터 두 요소가 남을 때까지 순회(첫번째 숫자) for (let i = 0; i < nums.length - 2; i++) { // 2. 첫번째 숫자 다음 요소부터 한 요소가 남을 때까지 순회(두번째 숫자) for (let j = i + 1; j < nums.length - 1; j++) { // 3. 두번째 숫자 다음 요소부터 끝까지 순회(세번째 숫자) for (let k = j + 1; k
[프로그래머스] 예산 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(d, budget) { let answer = 0; // 1. d를 오름차순으로 정렬 d.sort((a, b) => a - b); // 2. d를 하나씩 순회 for (let m of d) { // 2-1. m이 예산보다 작으면 집행가능 if (m budget) { // 2-2. 음수이면 예산을 초과했으므로 중단 break; } } return answer; } Comment 간단한 문제였으나, JavaScript 오름차순 정렬에서 헤메어 많은 시간이 소요되었다... Reference 프로그래머스