[백준/JS] 4358 생태학
문제링크 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 배운점 Map의 value값에 +1 을 해주기 위해서는 다시 set을 사용하여야합니다. 알고 있었지만 뭔가 낯설어서 메모합니다. for (let i = 0; i < input.length; i++) { if (dic.get(input[i])) { //상기시킨점 dic.set(input[i], dic.get(input[i]) + 1); } else { dic.set(input[i], 1); } } Map의 크기를 알아내기위해서는 size 라는 ..
[백준/JS] 14425 문자열집합
문제링크 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 문제풀이 단순히 Map() 만 사용해서 풀 수 있는 문제였습니다. const fs = require("fs"); BOJkey = 1; let input = fs .readFileSync(BOJkey ? "./자바스크립트로/14425/input.txt" : "./dev/stdin") .toString() .trim() .split("\n"); let number = input[0].split(" ").map((v) => +v..
[백준/JS] 1620 나는야 포켓몬 마스터 이다솜
문제링크 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 문제풀이 2021.08.02 - [알고리즘 공부/hashmap , 자료구조] - 백준 1620번 with Kotlin # hash 맵 과 list 동시에 사용 백준 1620번 with Kotlin # hash 맵 과 list 동시에 사용 입력 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 ..
[백준/JS] 1918 후위표기식
문제링크 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 문제풀이 표기법 변환부분을 복습하였다. 2022.06.29 - [공부기록/자바스크립트 코딩테스트] - 중위표기법 후위표기법 변환 중위표기법 후위표기법 변환 중위표기법 중위표기법이란 우리가 흔히 쓰는 A + B 와 같이 연산자를 피연산자의 가운데에 표기하는 방법이다. 후위표기법 후위표기법은 컴퓨터가 연산을 처리할때 사용되는 방식인데, 피연산 ehddud100677.tistory.com 그리고 이 코드를 참조하였다. https://velog.io/@en..
[백준/JS] 2800 괄호제거
문제링크 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net 문제풀이 제게 너무 힘든문제였습니다. 참고한 블로그입니다. 조눅's 괴발개발 [백준] 괄호 제거 문제링크 괄호 제거 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 128 MB 2016 680 499 33.512% 문제 어떤 수식이 주어졌을 때, 괄호를 제거해서 나올 수 있는 서로 다른 식의 개수를 계산 guard1000.github.io 인간디버거의로그찍기 BOJ - 괄호 제거 2800번 (python) ..
[백준/JS] 1966 프린터큐
문제링크 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 문제풀이 주요한 아이디어는 [인덱스, 우선순위] 이렇게 배열의 형태로 큐에 집어 넣은것이다. (사실 배열로 만들어서 큐라고 할 수없지만..) const fs = require("fs"); BOJkey = 0; let input = fs .readFileSync(BOJkey ? "./자바스크립트로/1966/input.txt" : "./dev/stdin") .toString() .trim() .split("\n"); let testCaseNumber = inp..
[백준/JS] 10799 쇠막대기
문제링크 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 문제풀이 설명을 어떻게 해야할지.. 이 문제를 왜 스택으로 접근했냐하면, 괄호를 보기만 하면 스택으로 생각하게 되네요. 열린괄호는 쇠 막대기가 들어옴을 의미한다. 그래서 count++ 한다. 그리고 stack에 저장한다. 레이저를 만나면 쇠막대기가 등분된다. 이때 현재 stack의 length가 막대기의 갯수를 의미한다. 예를 들어 3개가 들어있을 경우 레이저를 만난다면 6개로 나누어진다! 그러므로 막대기의 갯수를 += 해주면 된다. 여기서 나는 razerCheck..
[백준/JS] 1935 후위표기식2
문제링크 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 아스키코드 자바스크립트에서 아스키코드 값을 알아내기 위해서는 charCodeAt 메소드를 사용한다. s="AB" s.charCodeAt(i) 그렇다면 아스키코드 값을 문자열로 변경할때는 어떻게 할까? 다음과 같이 fromCharCode 메소드를 사용한다. String.fromCharCode(아스키코드 변수) 소수점 자리수 정해주기 소숫점을 정해주기 위해서는 toFixed() 메소드를 사용한다. toFixed(2) = 둘째자리까지 를 의미한다...
[백준/JS] 1185 요세푸스 문제
문제링크 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제사항 요세푸스문제 클래스 큐를 구현해서 풀고 있는데 , 메모리초과가 계속 나네요. 그런데 이유를 정말 모르겠습니다. 로직은 환형큐를 사용해서 K번째가 아닌 수는 큐에 다시 넣어주는 방식으로 구현했습니다. N이 7이고 K가 3일때 [1, 2, 3, 4, 5, 6, 7] -> [3, 4, 5, 6, 7, 1, 2] => 3 삭제 [4, 5, 6, 7, 1, 2] -> [6, 7, 1, 2, 4, 5] => 6 삭제 [7, 1, 2, 4, 5] -> [2, 4, 5, 7, 1] => 2 삭제 [4, 5, 7, 1] -> [7, 1, 4, 5] =..
자바스크립트 정규표현식 g 옵션의 비밀
여러분 안녕하세요. 자바스크립트 정규표현식에서 g 옵션에는 비밀이 숨겨져있다는 것 아시나요? 저는 이 비밀을 알아내기 위해 머리가 깨져버렸답니다. 도저히 모르겠어서 백준에 질문을 드려봤습니다. 그랬더니 어떤분께서 엄청 자세하게 답변을 달아주셨습니다. 정말 감사합니다. 앞으로의 글은 문제답변내용을 공부한 것 입니다. 문제답변 글 읽기 - 자바스크립트 정규표현식 질문입니다. 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net RegExp에서의 lastIndex란 틀린 원인을 알기 위해 먼저 RegExp(정규 표현식 객체) 의 lastIndex 속성을 알아봅시다. lastIndex 속성은 정규 표현식에서 매칭을 어디까지 했는지를 저장하기 위한 속성이며, 초기 값은 0입니다. 정규 표현식에 전역 ..