목록분류 전체보기 (169)
seunghyun Note
링크 : https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 스택문제 여러개 풀고 있다. 스택 다 풀면 heap 공부할 예정.. heap이 끝나면..? 큐 공부와 우선순위 큐를 공부해야한다. 단계적으로....! c언어로 구현할때는 링크드리스트로 노드 생성해서 귀찮아서 포기했는데 JS로 선택하길 잘했다.. 왜 다들 python, js로 코테 공부하라고 하는지 알겠음 문제 풀이 코드를 치면서 함수도 만들고 그 함수를 통해..
링크 : https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 문제 풀이 stack의 pop과 push로만 해결할 수 있다! const fs = require("fs"); //const input = require("fs").readFileSync("/dev/stdin").toString().split("\n"); const input = fs.readFileSync("예제.txt").toString().trim()..
링크 : https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 문제 풀이 1 X: 정수 X를 스택에 넣는다. (1 ≤ X ≤ 100,000) stack.push() 2: 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다. stack.pop() 3: 스택에 들어있는 정수의 개수를 출력한다. stack.length 4: 스택이 비어있으면 1, 아니면 0을 출력한다. stack의 empty여부 확인 5: 스택에 정수가 있다면 맨 위의 정수를 출력한다..
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 스택과 큐유형이어서 어려울 거 같아서 걱정했지만 로직만 이해하면 간단했다. O(n^2)이 되고 싶지 않아 최대한 O(n)이 될 수 있는 방법을 생각했다. 그래서 표를 그리면서 언제 push를 할까...? 고민을 많이 했다. 안 좋은 코드라고 생각했지만 그래도 다른 사람들의 코드와 비교했을 때 깔끔했던 거 같다. 📌 새로운 배열을 정의해야 한다. 1-1 progresses배열은 ..
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 고득점 키트에 해시가 있어서 문제를 해결해보려고 했다. 1. 해시를 담을 테이블을 생성한다. 2. phone_book의 배열값(문자열)을 index에 넣고 true로 값을 채운다. 3. 다시 문자열 배열을 순회시키면서 slice를 통해 [1,2,3] 이면 [1] , [1,2]까지만 pre로 넣어서 테이블에 있다면 return false를 하고 최종적으로 없으면 return tr..
링크 : https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문제 풀이 1. cro 배열에 크로아티아 문자를 넣어준다. 2. 순회 시켜 replaceAll을 통해 있을 경우 "x"로 바꾼다 (x가 아닌 다른 문자여도 된다. 하지만 cro배열에 있는 요소면 안된다.) 3. 마지막으로 순회가 끝났다면 문자열의 길이를 측정해서 출력한다. const fs = require("fs"); const input = fs.r..