목록개발일지/알고리즘 (5)
개발일지
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 1. 모든 성격 유형에 0점을 매기고 시작하기 2. survey에 들어있는 2개의 성격 유형을 한 개로 나누기 3. 각 유형에 맞게 점수 매기기 4. 지표 번호 순으로 성격 나열하기 구현 function solution(survey, choices) { let answer = []; // 각 성격마다 점수를 추가할 수 있도록 Map 사용 const kbti = new Map(); // 문항 선택에 따른 점수 구분 -> 배열의 첫 요소로 0을 넣은 이유는 문항에는 0번 문항이 없기 때문 const sc..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 스파이는 다양한 부위에 해당하는 의상을 가지고 있는데, 부위는 중첩되더라도 의상은 중복되지 않는다. 따라서 의상의 부위가 중복된다면 부위라는 사물함에 의상이라는 내용물을 넣어야한다고 생각, 즉 해쉬를 이용하여 풀었다. 코드 function solution(clothes) { // Map을 이용하자! const spyClothes = new Map(); clothes.forEach((item) => { // Map에 부위가 저장되어 있지 않다면 if (!spyClothes.get(item[1])) { ..
생각한 점 1. commands 안의 배열의 첫번째 수 부터 두번째 수까지 빈 배열에 push 2. 이후 오름차순으로 정렬 3. 세번째 수의 순서의 숫자를 구하기 function solution(array, commands) { var answer = []; var count = 0; while (count a - b); answer.pus..
function solution(v) { var answer = []; var x = []; var y = []; for(let i=0; i a-b); let yList = y.sort((a,b) => a-b); xList[0] === xList[1] ? answer.unshift(xList[2]) : answer.unshift(xList[0]); yList[0] === yList[1] ? answer.push(yList[2]) : answer.push(yList[0]); return answer; } 직사각형이 되기 위해서는 x축과 y축이 꼭 중복되어야 한다. ..
1. 문제 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데,..