[백준/JS] 10845 큐
문제링크 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 방금 자바스크립트로 큐를 구현하는 것을 공부했는데 적용하기 위해서 문제를 풀어봐야겠다. 애먹었던점 아무리 생각해도 돌아가야되는 코드인데 돌아가지가 않았다. split 할때 trim을 우선으로 해주었더니 가능했다.아마 빈 공백이 섞여있었나보다. let arr = input[i].trim().split(" "); 문제풀이 class Queue { constructor() { this.elements = {}; this.head = 0; thi..
[백준/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] 1264 모음의 개수
문제링크 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net 배운점 i - 대소문자 구분안함 정규표현식 match - 해당 문자열을 모두 찾아서 배열로 나타내어줌. 문제풀이 const fs = require("fs"); BOJkey = true; var input = fs .readFileSync(BOJkey ? "./자바스크립트로/1264/input.txt" : "./dev/stdin") .toString() .trim() .split("\n"); let regex = new RegExp(..
[백준/JS] 1543 문서검색
문제링크 배운점 동적변수로 정규표현식을 만들때 백틱을 사용하여 다음과 같이 정규식을 만들어주면 된다. const strr = input[1]; let regex = new RegExp(`${strr}`, "g"); let a = input[0].match(regex); 문제풀이 try catch를 사용한 이유는 정규표현식으로 걸러지는 문자가 없는경우에 length 메소드를 사용하면 에러가 발생한다. 따라서 catch문 이 동작할때에는 0을 출력한다. const fs = require("fs"); BOJkey = 1; var input = fs .readFileSync(BOJkey ? "./자바스크립트로/1543/input.txt" : "./dev/stdin") .toString() .trim() .spl..
[백준/JS] 2941 크로아티아 알파벳
크로아티아 알파벳 성공다국어 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 105557 46704 39717 44.725% 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 ..
정규표현식 공부
https://yozm.wishket.com/magazine/detail/1197/ 개발자라면 알아야 할 ①불규칙 속에서 규칙을 찾는 정규표현식 | 요즘IT 정규식의 정식 풀네임은 정규 표현식(Regular Expression)이지만, 사실 정규 표현식이라는 풀네임보다는 정규식, Regex, 규식이형 등으로 더 자주 불리고는 한다. 정규식은 패턴을 표현할 수 있는 일 yozm.wishket.com https://ccambo.tistory.com/entry/%EC%A0%95%EA%B7%9C%EC%8B%9D-Regular-Expression%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC 정규식 (Regular Expression)에 대한..
[프로그래머스/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..