const input = require('fs').readFileSync('/dev/stdin').toString();
let list = [];
for (let i = 'a'.charCodeAt(); i <= 'z'.charCodeAt(); i++) {
list.push(input.indexOf(String.fromCharCode(i)));
}
console.log(list.join(' '));
우선 각각의 알파벳이 처음 등장하는 위치를 담아둘 곳으로 list를 만들고
for 문을 이용하여 i의 시작값을 'a'.charCodeAt() 즉 소문자 'a'를 아스키코드로
변환한 값으로 정한다. 이 경우 'a'는 97 이고 소문자 마지막 글자인 'z'는 122이다.
String.fromCharCode(i) 메서드를 통해 아스키코드 상태인 i 값을 다시 문자열로
바꿔주고 input.indexOf()로 감싸 각각의 문자열이 처음 등장하는 index값을 list에
.push를 사용하여 차곡차곡 추가시킨다. 이 때 찾으려는 문자가 존재하지 않는 경우에는
indoexOf()메서드로 인해 -1으로 추가가 된다.
for문을 벗어나 list에 .join(' ') 메서드를 사용해 list 각 요소 사이에 ' '(공백)
을 추가시켜 원하는 출력값으로 출력시켜준다.
공부하는 중이라 글이 깔끔하지 못하거나 틀린부분이 있을 수 있습니다.
더 좋은 방법이 있거나 풀이에 틀린 부분이 있다면 말씀해주십쇼😮