![전체 글](https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png)
전체 글
[JS][프로그래머스LV1]신규 아이디 추천
문제 번호 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 알고리즘 분류 문제 풀이 해당 문제는 특별한 알고리즘을 요구하진 않는다. 다만 여러단계에 거쳐서 문제에서 요구한 구현을 해야하기 때문에 메서드와 정규식을 다양하게 알고있으면 도움이 됐던 문제였다. 전체코드 function solution(new_id) { var answer = ''; // 1단계 new_id = new_id.toLowerCase(); // 2단계 for(let i=0; i
[JS][프로그래머스LV1]크레인 인형 뽑기
문제 번호 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 알고리즘 분류 문제 풀이 우선 주어진 모든 움직임을 파악하기위해서 moves.length 만큼 for문을 사용하였다. 이후 moves 에서 주어진 열을 탐색하면서 인형이 발견되면 해당 인형을 집어서 result 라는 배열에 넣는다. 이때 result 의 최상단이 현재 집은 인형과 같은 인형이라면 result 배열을 pop 시켜주고 answer 변수에 제거한 인형의 수를 추가한다. 전체코드 function solution(board, moves) { var answer = 0; ..
[JS][프로그래머스]숫자 문자열과 영단어
문제 번호 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 알고리즘 분류 문제 풀이 replaceAll()을 사용하여 문제를 풀려고 했는데 프로그래머스에서는 replaceAll()이 지원하지 않는 함수라고 나온다. 그래서 검색해봤는데 MDN 문서에는 JS에서도 replaceAll()을 사용할 수 있다고 나온다. 하지만 비교적 최근에 추가된 메서드로 아직 사용 불가능한 환경이 더 많은것 같다. String.prototype.replaceAll() - JavaScript | MDN The replace..
[JS][프로그래머스]키패드 누르기
문제 번호 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 알고리즘 분류 구현? 문제 풀이 문제에서 주어진 키패드의 모양을 keyPad라는 배열로 나타냈다. 배열의 각 좌표가 나타내는 값은 문제에서 주어진 것과 동일하다. ' 1 2 3 // 4 5 6 ........' 순서. [0,0]은 키패드의 '1' 이다. let keyPad = [ [0,0], [1,0], [2,0], [0,1], [1,1], ..
[JS][프로그래머스]폰켓몬
문제 번호 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 알고리즘 분류 문제 풀이 Set은 중복을 허용하지 않는 자료구조이다. Set - JavaScript | MDN Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다. developer.mozilla.org 이러한 성질을 이용해서 주어진 nums 배열을 set 으로 변형하고 그 set의 size를 반환하거나 N/2를 반환하면 된다. 전체코드 function solution(nums) { var answer = ..
[JS][프로그래머스]실패율
문제 번호 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 알고리즘 분류 문제 풀이 자바스크립트의 배열 요소의 자료형에는 제한이 없다. 배열 ko.javascript.info 이를 이용해서 실패율을 먼저 계산한뒤 배열에 객체를 넣어준다. 그 이후 문제에서 주어진 조건에 따라서 정렬을 진행하고 난뒤, map 메서드를 사용하여 답을 반환한다. map 메서드의 반환값은 새로운 배열이다. Array.prototype.map() - JavaScript | MDN map() 메서드는 배열 내의 모든 요소 각각에 대하여 ..
[JS][프로그래머스]3진법 뒤집기
문제 번호 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 알고리즘 분류 문제 풀이 parseInt는 특정 문자열을 분석하고 특정 진법수로 전환하여 표현할 수 있다. Number.parseInt() - JavaScript | MDN Number.parseInt() 메서드는 문자열을 분석하고 특정 진수를 사용한 정수로 변환해 반환합니다. developer.mozilla.org join 메서드는 반환값이 문자열이다. 전체 코드 function solution(n) {..
[JS][프로그래머스]1차_비밀지도
문제 번호 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 알고리즘 분류 문제 풀이 toString(2)를 사용해서 원하는 숫자를 2진수로 변환하면 가장 큰 자리수가 0번 인덱스에 들어가게된다. 그래서 문제에서 주어진 숫자들을 2진수로 변환하고 reverse()를 사용하여 뒤집는다. let first = arr1[i].toString(2).split('').reverse(); let second = arr2[i].toString(2).split('').reverse(); 그리고 이 결과로 만들어진 배열..