const fs = require("fs");
const input = fs.readFileSync(0).toString().trim();
let temp = [];
for (let i = 97; i <= 122; i++) {
temp.push(input.indexOf(String.fromCharCode(i)));
}
console.log(temp.join(" "));
- 알파벳 전체 길이인 26개 만큼 출력된다.
- 빈 배열을 선언하고, 아스키 코드에서 알파벳 소문자가 97~122인걸 이용한다.
- for 루프에서 시작값을 97부터 127이하까지 반복한다.
- String.fromCharCode(i) 메서드를 이용해서 숫자를 알파벳으로 변환한다.
- 변환한 알파벳을 주어진 input 문자열에서 indexOf() 메서드를 이용해 존재한다면, 첫 번째 위치를, 없다면 -1을 반환 받는다.
- 배열에 26개의 원소가 채워져있는데, join()메서드를 이용해서 " " 공백을 원소 사이에 넣어서 문자열로 변환하고 출력한다.
유연하게 생각하려고 노력하자.
문제 안에 있는 조건들을 놓치지 말자.