| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 1931 node.js
- 2217 node.js
- 모던자바스크립트DeepDive
- 모던자바스크립트 딥다이브
- 21313 nodejs
- 개발자
- Javascript
- flex box
- 1789 node.js
- 백준21313
- 자바스크립트 일급객체
- 14655 nodejs
- 11399 node.js
- CSS flex
- 11047 node.js
- IT5분잡학사전
- 백준25176
- 노개북
- 모던자바스크립트
- 자바스크립트 함수
- 자바스크립트 딥다이브
- 1026 node.js
- 백준1789
- 1541 node.js
- 코딩
- 노마드스터디
- 백준1026
- 노마드북클럽
- 개인프로젝트
- const
Archives
- Today
- Total
캐또's coding
9093 - 단어 뒤집기 - node.js 본문
https://www.acmicpc.net/problem/9093
9093번: 단어 뒤집기
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는
www.acmicpc.net
지난 스택 문제에 이어 스택을 활용하는 두 번째 문제, 문장을 입력으로 받고 띄어쓰기를 기준으로 뒤바꾼다.
apple -> elppa
이를 해결하기 위해서 스택을 활용해보는 문제인데, stack에 순서대로 알파벳을 넣다가, ' '공백이나, 값이 없는 경우=문장이 끝난 경우undefined마다 스택에서 하나씩 빼는 것으로 스택을 활용하여 문제 해결이 가능하다.
const fs = require("fs");
let [n, ...input] = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
const result = [];
const stack = [];
// 입력값으로 문장 갯수 n과 배열input을 받아온다.
// 결과를 출력할 result와 계산에 활용할 stack을 할당해둔다.
for (i = 0; i < n; i++) {
// 아래에 대한 반복문: 문장 갯수만큼 반복한다는 의미
let arr = input[i].trim().split("");
// 입력으로 온 각 문장들을 알파벳 단위로 쪼개준다.
for (j = 0; j <= arr.length; j++) {
// 각 문장마다 반복문을 돈다.
if (arr[j] === " " || arr[j] === undefined) {
//만약 공백이나 undefined가 온 경우
while (stack.length > 0) {
result.push(stack.pop());
}
//stack의 길이가 0이 될때까지 stack.pop()을 해서 result에 push한다
result.push(" ");
//반복을 마치고 난 뒤 공백을 넣어준다
} else {
stack.push(arr[j]);
//그 외의 경우에는 stack에 알파벳을 하나씩 넣어준다.
}
}
result.push("\n");
//문장을 도는 반복이 끝나면 줄넘김을 넣고 다음 문장에 대비한다.
}
console.log(result.join(""));
//result에 들어간 값들을 붙여서 출력하면 문제 해결
'기초 공부 > 백준 문제 풀이' 카테고리의 다른 글
| 1874 - 스택 수열 - node.js (0) | 2023.01.24 |
|---|---|
| 9012 - 괄호 - node.js (0) | 2023.01.23 |
| 10828 - 스택 - node.js (0) | 2023.01.21 |
| 24060 - 알고리즘 수업 - node.js (0) | 2023.01.20 |
| 25501 - 재귀의 귀재 - node.js (0) | 2023.01.19 |
Comments