본문 바로가기

programming study/Algorithm

(275)
[프로그래머스] 문자열 내림차순으로 배치하기 - 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 프로그래머스
[프로그래머스] 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