문제 : https://www.acmicpc.net/problem/10809
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
Sol )
1. -1로 초기화된 길이 26의 배열 선언
2. 입력 문자열을 왼쪽부터 순회하면서 각 문자를 아스키 코드로 변환해 a의 아스키코드 만큼을 빼 준 값을 인덱스로 저장
3. 배열의 해당 인덱스 값이 -1이라면 값으로 지금 문자의 순서를 저장 ( -1이 아닌 경우 이미 할당됨 )
4. 배열을 출력 양식에 맞게 출력
소스코드 )
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
const word = input[0];
const cnt_arr = new Array(26).fill(-1);
for (let i = 0 ; i<word.length;i++){
idx = word[i].charCodeAt(0)-"a".charCodeAt(0)
if (cnt_arr[idx] === -1){
cnt_arr[idx] = i;
}
};
console.log(cnt_arr.join(" "));
'Problem Solving > boj.kr (JS)' 카테고리의 다른 글
[BOJ / 자바스크립트] 1157 : 단어 공부 (0) | 2022.02.26 |
---|---|
[BOJ / 자바스크립트] 2675 : 문자열반복 (0) | 2022.02.13 |
[BOJ / 자바스크립트] 11720 : 숫자의 합 (0) | 2022.02.13 |
[BOJ / 자바스크립트] 11654 : 아스키 코드 (0) | 2022.02.13 |
[BOJ / 자바스크립트] 2557 : Hello World (0) | 2022.02.13 |
댓글