자바스크립트 queue 구현
우선 전체 코드는 이러하다. class Queue { constructor() { this.elements = {}; this.head = 0; this.tail = 0; } enqueue(element) { this.elements[this.tail] = element; this.tail++; } dequeue() { const item = this.elements[this.head]; delete this.elements[this.head]; this.head++; return item; } peek() { return this.elements[this.head]; } back() { return this.elements[this.tail - 1]; } get length() { return this..
[백준/JS] 2867 FBI
FBI 성공다국어 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.25 초 (추가 시간 없음) 128 MB 6939 3323 2880 48.298% 문제 5명의 요원 중 FBI 요원을 찾는 프로그램을 작성하시오. FBI요원은 요원의 첩보원명에 FBI가 들어있다. 입력 5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. 출력 첫째 줄에 FBI 요원을 출력한다. 이때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다. 만약 FBI 요원이 없다면 "HE GOT AWAY!"를 출력한다. 이상한 점 이 문제 아무리 생각해도 맞는 거 같은데 계속 틀려서 결국 해답을 봐버렸다. ..
[백준/JS] 2671 잠수함식별
잠수함식별 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 5541 2149 1563 39.291% 문제 일반적으로 잠수함 엔진이 작동할 때에 나오는 소리는 잠수함의 종류에 따라서 다르다고 한다. 우리는 물속에서 들리는 소리의 패턴을 듣고서 그 소리가 특정한 잠수함에서 나오는 소리인지 아닌지를 알아내려고 한다. 이 문제에서는 잠수함의 소리가 두 종류의 단위 소리의 연속으로 이루어져 있고, 그 단위 소리를 각각 0과 1로 표시한다. 또, 한 특정한 소리의 반복은 ~로 표시한다. 예를 들어 x~는 x가 한번 이상 반복되는 모든 소리의 집합을 말하고, (xyz)~는 괄호 안에 있는 xyz로 표현된 소리가 한번 이상 반복되는 모든 소리의 집합을 말한다. 다음의 예를 보라. 1~ = {1,..
[프로그래머스/JS] 크레인 인형뽑기 게임
문제링크 코딩테스트 연습 - 크레인 인형뽑기 게임 [[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 문제풀이 function solution(board, moves) { var answer = 0; let stack = []; let len = board.length; moves.map((el) => { for (let i = 0; i 0 && stack[stack.length - 1] == board[i][el ..
자바스크립트 Map 정렬하기
https://nukw0n-dev.tistory.com/13 [Javascript] 자바스크립트 Map 정렬하기 잡소리, 서론 코딩테스트 응시언어가 js로 제한되어있는 곳에 지원했다. 자바스크립트와 친숙했던 나지만 자바스크립트로 알고리즘 문제들을 풀어본 적이 없어서 이것저것 찾아보면서 공부하 nukw0n-dev.tistory.com 위 블로그 글을 공부하여 작성하였습니다. Map map 자료구조는 key - value로 구성됩니다. 기존에 알고 있던 내용도 있지만 value에 함수를 넣을 수 있다는 사실을 알게 되었습니다. const testmap = new Map(); testmap.set(1,123); testmap.set(2,345); testmap.set(3,789); const funcRef =..
[프로그래머스/JS] 3진법 뒤집기
문제링크 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 같이 보면 좋을 문제 [프로그래머스/JS] 비밀지도 문제링크 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 ehddud100677.tistory.com 문제풀이 function solution(n) { var answer = 0; let str = n.toString(3).spl..
[프로그래머스/JS] 비밀지도
문제링크 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 배운점 숫자 | 숫자 연산 자바스크립트에서 다음과 같이 숫자 | 숫자 연산을 하면 2진법으로 or 연산을 사용한 값이 리턴된다. console.log(10|1) // 11 console.log(11|1) // 11 자바스크립트에서 진법 변환 또 정말 편리하다 라고 생각 된 것이 다음과 같이 숫자에 toString(원하는 진수) 를 하면 해당 진법으로 변환한다는 것이다. console.log((8).toString(2)) // 1000 consol..
[프로그래머스/JS] 최소직사각형
문제링크 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 문제풀이 다음 문제에서 최소 직사각형을 만들기 위해서는 1. 큰수를 모으는 배열을 만든다. 2. 작은 수를 모으는 배열을 만든다. 3. 두 배열에서 최댓값을 선택하여 곱한다. function solution(sizes) { var answer = 0; let big = [] let small = [] sizes.map(el=>{ let [a,b] = el if (a>b) { big.push(a) small.push(b) } else { big.push(b)..
[프로그래머스/JS] 1차 다트게임
문제링크 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 배운점 dd[i] 는 '0' 문자 인데, 자바스크립트에서는 숫자와 비교연산을 할때 자동으로 형변환이 된다. if(dd[i]>=0 && dd[i]
[프로그래머스/JS] 나머지가 1이 되는 수 찾기
문제링크 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입 programmers.co.kr 문제풀이 function solution(n) { let i = 2 while(true){ if (n%i==1) break i++ } return i; }