✏️기록하는 즐거움
article thumbnail
[프로그래머스] 폰켓몬 - level 1 (javascript)
Algorithm/Programmers 2022. 10. 28. 17:14

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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())가 가져갈 수 있는 최대..

article thumbnail
[프로그래머스] 숫자 문자열과 영단어 - level1 (javascript)
Algorithm/Programmers 2022. 10. 28. 16:57

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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); } | 풀이과정 문자열로 표현된 부분을 알맞은..

article thumbnail
[프로그래머스] [1차] 비밀지도 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 19. 17:24

| 제출 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으로 표현되기 때문에 주어진 두 배열을..

article thumbnail
[프로그래머스] 최소직사각형 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 19. 16:53

| 제출 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 문으로 비교하는 것이 더 속도가 빠르다. 현재 요소인..

article thumbnail
[프로그래머스] 내적 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 19. 14:46

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..

article thumbnail
[프로그래머스] 없는 숫자 더하기 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 19. 13:21

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..

article thumbnail
[프로그래머스] 음양 더하기 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 19. 13:08

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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 요소를 ..

article thumbnail
[프로그래머스] 약수의 개수와 덧셈 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 19. 12:01

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(left, right) { let sum = 0; for(let i = left; i

article thumbnail
[프로그래머스] K번째 수 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 5. 17:13

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(array, commands) { const answer = []; for (let i = 0; i a - b)[k - 1]); } return answer; } | 풀이과정 입력받은 commands를 구조분해할당으로 begin, end, k에 값을 할당한다. ..

article thumbnail
[프로그래머스] 3진법 뒤집기 - level 1 (javascript)
Algorithm/Programmers 2022. 9. 5. 17:07

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..