[JS] 10809번 - 알파벳 찾기

박세현·2021년 6월 6일
0

알고리즘

목록 보기
13/19

알파벳 찾기

문제 출처

https://www.acmicpc.net/problem/10809


풀이

아스키 코드로 97 ~ 122까지가 a ~ z를 의미하므로,
Array(26).fill(97)로 97 ~ 122 까지의 배열을 만든 후,
아스키 코드를 문자로 변환하는 fromCharCode 메소드를 사용해서 a ~ z 배열을 만들었다.
그 후 알파벳 배열을 순환하면서 입력받은 문자열에서 각 알파벳의 위치를 저장,
join 메소드를 이용해서 원소사이에 공백을 넣은 문자열로 출력했다.

const readline = require("readline");
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

let input;

rl.on("line", function(line) {
  input = line;

  // a ~ z 까지 알파벳 배열 생성
  const alphabetArr = Array(26).fill(97).map((x, i) => String.fromCharCode(x + i));
  const result = [];

  // indexOf로 문자열에서 알파벳의 위치를 찾음
  alphabetArr.map((x) => {
    const position = input.indexOf(x);

    result.push(position);
  });

  // join 메소드로 배열을 문자열로 변환 (원소와 원소 사이에는 공백을 넣음)
  console.log(result.join(' '));

  rl.close();
}).on("close", function() {
  process.exit();
});

profile
Front End 공부노트

0개의 댓글

관련 채용 정보