https://www.acmicpc.net/problem/17413
[문제 유형]
- 구현
- 자료 구조
- 문자열
- 스택
[풀이]
문자열 뒤집기
여기서 예외는 <><> 태그 안에 있는 문자열은 뒤집지 않는다.
< temp에 넣을 곳 >
<이 오면 앞의 temp 들 뒤집어서 ans 에 담아줌
temp 에 있는 데이터 ans 에 담을때 temp 는 비워주기
-> 하나하나 케이스 그려보면서 해보면 이해됨!
[코드 풀이]
const fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().trim().split('');
isTag = false;
ans = "";
temp = "";
for (let a of input) {
if (a === "<") {
isTag = true;
ans += temp.split("").reverse().join("") + a;
temp = "";
} else if (a === ">") {
isTag = false;
ans += temp + a;
temp = "";
} else if (a === " ") {
ans += (!isTag ? temp.split("").reverse().join("") : temp) + " ";
temp = "";
} else {
temp += a;
}
}
console.log((ans + temp.split("").reverse().join("")).replace(/\n/g, ""));
728x90
반응형
'자료구조+알고리즘 > BOJ' 카테고리의 다른 글
[BOJ-11866_silver5]요세푸스 문제 0 (자바스크립트) (0) | 2024.03.02 |
---|---|
[BOJ-24511_silver3] queuestack (javascript) (0) | 2024.03.02 |
[BOJ-10773-Siver4]제로 (javascript) (0) | 2024.02.29 |
[1152][백준_브론즈2] 단어의 개수 - JavaScript (0) | 2023.11.07 |
[2562][백준_브론즈3] 최댓값 - JavaScript (0) | 2023.11.07 |