https://www.acmicpc.net/problem/10809
1. 문제 설명
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
2. 입출력
3. 문제 풀이
const [n] = require("fs")
.readFileSync("./input.txt")
.toString()
.trim()
.split(/\r\n/);
//const [n, ...arr] = require("fs").readFileSync("/dev/stdin").toString().trim().split(/\n/);
function solution(n) {
// 1) 각 알파벳을 Map 객체로 선언
const map = new Map([
["a", -1], ["b", -1], ["c", -1], ["d", -1], ["e", -1], ["f", -1],
["g", -1], ["h", -1], ["i", -1], ["j", -1], ["k", -1], ["l", -1],
["m", -1], ["n", -1], ["o", -1], ["p", -1], ["q", -1], ["r", -1],
["s", -1], ["t", -1], ["u", -1], ["v", -1], ["w", -1], ["x", -1],
["y", -1], ["z", -1],
]);
// 2) 입력값 길이 만큼 반복한다.
for (let i = 0; i < n.length; i++) {
// 3) 최초 입력 값일 때만 위치를 저장한다.
if(map.get(n[i]) === -1) map.set(n[i], i);
}
// 4) value 값 출력한다.
console.log([...map.values()].join(" "));
}
solution(n);
반응형
'Algorithm' 카테고리의 다른 글
[백준 / NodeJS] 1978번 소수 찾기 (0) | 2023.04.27 |
---|---|
[백준 / NodeJS] 11655번 ROT13 (0) | 2023.04.23 |
[백준 / NodeJS] 10808번 알파벳 개수 (0) | 2023.04.21 |
[백준 / NodeJS] 10820번 문자열 분석 (0) | 2023.04.19 |
[백준 / NodeJS] 1935번 후위 표기식2 (0) | 2023.04.14 |