js
Programmers / Level 2 / 모음사전 / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(word) { let result = 0; const ALPHABET_LIST = ['A', 'E', 'I', 'O', 'U']; const COUNT_TO_CHANGE_LIST = [781, 156, 31, 6, 1]; result = word.split('').reduce((acc, cur, idx) => { return acc + ALPHABET_LIST.indexOf(cur) * COUNT_TO_CHANGE_LIST.at(idx) + 1; }, 0)..
Programmers / Level 2 / 방문 길이 / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function isValidPosition(x, y) { if(x 5) return false; if(y 5) return false; return true; } function solution(dirs) { let result = ''; let routeSet = new Set(); let [curX, curY] = [0, 0]; const moveObj = { U: [0, 1], D: [0, -1], L: [-1, 0], R: [1, 0],..
Programmers / Level 2 / 할인 행사 / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr /** * 원하는 제품명과 제품수량들이 담긴 각각의 리스트를 받아서 * key:제품명, value:제품수량을 가지는 Map으로 초기화 하는 함수 * * @param {string[]} want 원하는 제품명들이 담긴 리스트 * @param {number[]} number 원하는 제품수량들이 담긴 리스트 * @param {Map} wantCountMap 초기화할 Map */ function initWantCountObject(want, number, wantCountMap) { const ..
Programmers / Level 2 / 연속 부분 수열 합의 개수 / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(elements) { const ELEMENTS_LEN = elements.length; let sumSet = new Set(); let [start, end] = [0, 0]; for (let i = 1; i
Programmers / Level 2 / [3차] 압축 / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr let dictionary = new Map(); /** * A:1, B:1, ... , Z:26 으로 사전을 초기화하는 함수 */ function initDictionary() { let alphabetList = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split(''); alphabetList.forEach((el, idx) => { dictionary.set(el, idx + 1); }); } /** * 사전을 계속 업데이트 하면서 결과값을 반환하는 함수 * * @par..
Programmers / Level 0 / 캐릭터의 좌표 / JS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(keyinput, board) { const [MAX_WIDTH, MAX_HEIGHT] = board; let moveObj = { "left": [-1, 0], "right": [1, 0], "up": [0, 1], "down": [0, -1] }; let cur = [0, 0]; for(let input of keyinput) { const [MOVE_COL, MOVE_ROW] = moveObj[input]; const [CUR_COL, CUR_ROW]..