백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 9536 여우는 어떻게 울지? [문자열]
✔️Check Point ! ( 해당사항 ✓체크 )
1. 막힘 없이 수월하게 풀린 문제인가?
2. 1시간이내로 풀렸던 문제인가?
3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
4. 시간을 써도 도무지 풀 수 없는 문제인가?
5. 솔루션을 찾아봤는가?
-------------------------------------------------------------------------------------------
난이도 체감 🧑💻
1. 최상
2. 상
3. 중
4. 하
이해도 🙆♂️
1. 완벽히 이해
2. 다소 헷갈리는 부분들이 있음
3. 이해 못함
문제 출처 🏠
https://www.acmicpc.net/problem/9536
문제풀이 소감 🧑💻
문제가 좀 재밌네요 ㅋㅋㅋㅋㅋㅋㅋ
스택을 활용해서 풀었어요 어려운 부분은 없습니다.
요구사항 📋
여러 동물의 울음소리가 섞인 문자열이 주어진다.
이후 여우를 제외한 동물들의 울음소리가 주어지는데, 처음 주어진 문자열에서 여우만의 울음소리를 찾아내라.
주의 ❗
첫번째 줄에 주어지는 T 번 만큼 테스트케이스 반복
해결 전략 📝
여우를 제외한 동물들을 dict 에 담아준다.
이후 주어진 문자열의 단어를 하나씩 스택에 쌓으면서 dict 에 담겨져 있는 단어는 스택에서 빼버린다.
스택에 담겨있는 단어들 만이 여우의 울음 소리이므로 출력하자.
정답 💯
const input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
const T = input.shift();
const END = "what does the fox say?";
let cnt = 0;
while (cnt < Number(T)) {
const foxSound = [];
let sounds = input[0].trim().split(" ").map(String);
let dict = {};
input.shift();
while (true) {
let animal = input[0].trim();
input.shift();
if (animal === END) break;
dict[animal.split(" ").map(String)[2]] = true;
}
sounds.map((sound) => {
foxSound.push(sound);
if (dict[sound]) foxSound.pop();
});
console.log(foxSound.join(" "));
cnt += 1;
}
반응형
'알고리즘 공부 > 백준 - 자바스크립트' 카테고리의 다른 글
백준/ Gold 4 문제 , 백준 Node.js 자바스크립트 1987 알파벳 [DFS] (0) | 2022.11.13 |
---|---|
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 4396 지뢰 찾기 [문자열] (0) | 2022.11.11 |
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 16439 치킨치킨치킨 [완전탐색] (0) | 2022.11.09 |
백준/ Gold 5 문제 , 백준 Node.js 자바스크립트 2565 전깃줄 [LIS] (0) | 2022.11.08 |
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 5568 카드 놓기 [완전탐색] (1) | 2022.11.07 |