본문 바로가기

programming study

(889)
[프로그래머스] 예산 - 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 프로그래머스
[프로그래머스] 3진법 뒤집기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(n) { var answer = 0; // 1. n을 3진법으로 변환한 수 const ternary = n.toString(3); // 2. ternary를 반대로 뒤집기 const reverseTernary = ternary.split('').reverse().join(''); // 3. reverseTernary를 10진법으로 변환 const decimal = parseInt(reverseTernary, 3); return decimal; } Reference 프로그래머스
[프로그래머스] 내적 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(a, b) { const answer = a.reduce((acc, cur, curIdx) => acc + cur * b[curIdx], 0); return answer; } Reference 프로그래머스
[프로그래머스] 음양 더하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(absolutes, signs) { let answer = 0; absolutes.forEach((absolute, index) => answer += signs[index]? +absolute : -absolute); return answer; } Comment forEach문을 사용하여 명료하게 풀었다. forEach말고 reduce의 콜백 인수들을 사용하였으면 더 좋았을 것 같다. Reference 프로그래머스
[프로그래머스] 로또의 최고 순위와 최저 순위 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(lottos, win_nums) { const answer = []; // 순위를 표현하는 객체 const rank = { 6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6, }; // 0의 갯수 let countZero = 0; // lottos와 win_nums가 일치하는 번호의 수 let sameNumber = 0; // 1. lottos를 하나씩 순회 for (let lotto of lottos) { // 1-1. 0의 갯수는 따로 세기 if (lotto === 0) { countZero += 1; } // 1-2. win_num..
[프로그래머스] 영어 끝말잇기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(n, words) { const answer = []; ​ // 1. 참여자들이 말했던 단어를 기록할 배열 const saidWords = new Array(); // 2. words 하나씩 접근 for (let i = 0; i
[프로그래머스] 짝지어 제거하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(string) { // 짝을 집어 넣을 배열 const pairArray = []; // 주어진 문자열 순회 for (let s of string) { // pairArray가 비어있으면 현재 접근한 넣기 if (!pairArray.length) { pairArray.push(s); // pairArray에 마지막에 넣은 문자가 현재 접근한 문자와 같을 때 } else if (pairArray[pairArray.length - 1] === s) { // 짝이 맞으므로 pairArray에서 삭제 pairArray.pop(); // pairArray에 마지막에 넣..
[프로그래머스] 124 나라의 숫자 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드(나의 풀이) function solution(n) { let answer = ''; // 124 나라의 숫자 const numbers = [4, 1, 2]; // n이 0이 되면 중단 while (n !== 0) { // n을 3으로 나눈 몫 let share = parseInt(n / 3); // n을 3으로 나눈 나머지 const rest = n % 3; // 나머지가 0 인경우 몫에서 -1 if (rest === 0) { share -= 1; } // 124 나라 숫자 입력 answer = `${numbers[rest]}${answer}` // n을 몫으로 최신화 n = share; } return..