프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(nums) { const newNums = new Set(nums); const count = parseInt(nums.length / 2); return (newNums.size >= count) ? count : newNums.size; } | 풀이과정 가장 많은 종류의 폰켓몬을 데려가려면 중복되는 것이 없어야 한다. 1) 폰켓몬 종류 번호가 담긴 배열 nums를 Set 자료구조로 만든다. 2) 중복되지 않은 폰켓몬의 수(Set.size())가 가져갈 수 있는 최대..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(s) { let numArr = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]; let answer = s; for(let i = 0; i < numArr.length; i++) { let arr = answer.split(numArr[i]); answer = arr.join(i); } return Number(answer); } | 풀이과정 문자열로 표현된 부분을 알맞은..
| 제출 function solution(n, arr1, arr2) { let newArr = []; for (let i = 0; i item .padStart(n, 0) .split("") .map((num) => (num === "1" ? "#" : " ")) .join("") ); } | 풀이과정 비트 OR 연산자( | )는 대응되는 비트 중에서 하나라도 1이면 1을 반환한다. 현재 두 그림을 더했을 때 벽인 부분은 전체 지도에서도 벽이되고, 모두 공백인 부분만 전체 지도에서 공백이다. 벽은 1, 공백은 0으로 표현되기 때문에 주어진 두 배열을..
| 제출 function solution(sizes) { let maxSize = [0, 0]; sizes.map(([w, h]) => w { if(w > maxSize[0]) maxSize[0] = w if(h > maxSize[1]) maxSize[1] = h }); return maxSize[0] * maxSize[1]; } | 풀이과정 가로, 세로 길이가 크기 상관없이 주어졌기 때문에 정렬을 해주어야 한다. sizes.map((item) => itme.sort((a, b) => a - b)); map 메서드 안에서 sort 메서드를 사용하여 정렬해주어도 되지만, if 문으로 비교하는 것이 더 속도가 빠르다. 현재 요소인..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(a, b) { return a.reduce((acc, val, i) => acc + val * b[i], 0); } | 풀이과정 음양더하기 문제와 동일하게 reduce를 사용해서 풀면 되는 간단한 문제이다. [프로그래머스] 음양 더하기 - level 1 (javascript) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.k..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(numbers) { let scope = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; return scope.filter((num) => numbers.indexOf(num) === -1).reduce((acc, val) => acc + val); } | 풀이과정 filter 메서드로 scope 배열에서 numbers 배열에 없는 숫자들을 필터링한다. 그리고 해당 수들을 reduce를 사용하여 더해주면 된다. 다른 사람 풀이 function solution..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(absolutes, signs) { return absolutes.reduce((acc, val, index) => acc + (val * (signs[index] ? 1 : -1)), 0); } | 풀이과정 reduce 함수는 처리할 요소의 인덱스를 인자로 가지고 있다. absolutes[0]의 부호는 signs[0]에, absolutes[1]의 부호는 signs[1]에 담겨져 있으므로 absolutes의 배열 요소와 해당하는 인덱스를 가지고 있는 signs 요소를 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(left, right) { let sum = 0; for(let i = left; i
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(array, commands) { const answer = []; for (let i = 0; i a - b)[k - 1]); } return answer; } | 풀이과정 입력받은 commands를 구조분해할당으로 begin, end, k에 값을 할당한다. ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(n) { return parseInt(n.toString(3).split("").reverse().join(""), 3); } | 풀이과정 toString 메서드를 사용하면 입력값을 3진법으로 변환할 수 있다. 변환한 3진법을 뒤집어서 parseInt 메서드로 3진법을 10진법으로 반환한다. 그 외 방법 1 ) 메서드 없이 풀기 function solution(n) { let result = ""; let rest = n % 3; let temp = parseInt(n..