스택

문제 설명 https://www.acmicpc.net/problem/17178 17178번: 줄서기 아이즈원의 팬인 시온이는 드디어 티켓팅에 성공하여 콘서트를 갔다. 콘서트장에 일찍 도착한 시온이는 기대하며 입장을 위해 줄을 섰다. 하지만 아이즈원의 인기대로 시온이를 포함한 많은 www.acmicpc.net 문제 풀이 방법 이 문제는 스택을 이용해 풀었다. FILO(First In First Out) 선입 후출 방식으로 스택을 구성했다. 입력받는 사람들이 줄선 리스트와 그 리스트를 아파벳, 숫자로 정렬한 리스트의 맨 앞 값들을 비교하며 스택에 넣을지 제거할지 결정하는 코드를 작성했다. 대기하는 사람들이 있는 스택에 남은 사람이 없으면 GOOD, 있다면 BAD를 출력하도록 했다. 코드 const path ..
문제 설명 문제 풀이 방법 이 문제는 스택을 이용해 풀었다. 주어지는 과제가 있다면 과제를 바로 수행해야 하므로 stack에 넣고 2번 작업으로 넘어간다. 과제가 없다면 2번 작업으로 넘어간다. 과제를 받게되면 남은 기간에 -1을 해주고 남은 기간이 0이 되면 score에 해당 점수를 더해주고 pop() 메서드를 이용해 작업 리스트에서 뽑아준다. 집계된 점수를 반환 코드 const path = __dirname + '/예제.txt'; // /dev/stdin let input = require('fs').readFileSync(path).toString().trim().split('\n').map(e => e.split(' ').map(Number)); const [N] = input.shift(); c..
문제 설명 문제 풀이 방법 처음에 문자열로만 접근하려 했는데 생각해보니 스택으로 접근하면 더 빠르게 될거 같아 접근법을 바꿨다. 아무래도 문자열의 길이가 1,000,000 까지다 보니 너무 길다 생각했다. 문자열로 접근해 풀게되면 문자열을 배열로 바꾸고, for문을 사용하고 그 안에 splice를 사용하기에 시간 복잡도가 높게 나올거 같았다. stack으로 접근하면 for문 한번만 돌면 되기에 시간 복잡도가 낮게 나올것이다. 내가 작성한 코드 const solution = (s) => { let arr = []; for(let i=0; i
58청춘
'스택' 태그의 글 목록 (2 Page)