[JavaScript] 10809 | 백준 (배열 내장함수)

유인학·2022년 5월 23일
0

[JS] Algorithm(백준)

목록 보기
48/82
post-thumbnail

📄 문제

알파벳 소문자로만 이루어진 단어 S가 주어진다.
각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를,
포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.

⌨ 예제 입력

baekjoon

📺 예제 출력

1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

🚩solution

이전에 사용했던 아스키 코드를 활용해서 문제를 풀었다.
소문자 a~z 는 아스키 코드로 97~122 이다.
그리고 이번에는 배열 내장함수를 많이 활용해서 풀어보았다.

arr.fill(-1) //배열을 -1로 채운다.

arr.join(' ') //배열의 값들을 ' '기준으로 띄워서 문자열을 만든다.
			  //split의 반대되는 개념

arr.map((value, index) => {}) //map은 자주 사용했기 때문에 패스~
const input = require('fs').readFileSync('/dev/stdin').toString().trim();
let arr = new Array(26);
arr.fill(-1);
input.split('').map((value, index) => {
  const ascii = value.charCodeAt(0) - 97;
  arr[ascii] === -1 ? (arr[ascii] = index) : null;
});
let ans = arr.join(' ');
console.log(ans);

[배열 내장함수]
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array

profile
'유'발자!

0개의 댓글