10809번 - 알파벳 찾기 - indexOf사용

2022. 11. 18. 16:29BaekJoon/코드정리

Javascript의 문자열에서 특정 문자의 위치를 찾기 위해서

indexOf 함수를 사용한다고 한다.

 

그래서 이 함수에 대해 한번 알아보자.

 indexOf() 함수 

string.indexOf(searchvalue, position)
  • indexOf 함수는, 문자열(string)에서 특정 문자열(searchvalue)을 찾고, 
    검색된 문자열이 '첫번째'로 나타나는 위치 index를 리턴합니다.
  • 파라미터
    • searchvalue : 필수 입력값, 찾을 문자열
    • position : optional, 기본값은 0, string에서 searchvalue를 찾기 시작할 위치
  • 찾는 문자열이 없으면 -1을 리턴합니다.
  • 문자열을 찾을 때 대소문자를 구분합니다.

위 사진을 보면, 각 문자가 일치하게 된다면, 그 문자의 위치를

만약에 없다면 -1을 출력하는 것을 볼 수 있다.

 

그래서 이번 문제에서는 이 함수를 사용하였다.

문제

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

입력

첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.

출력

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.

만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.

예제 입력 1 복사

baekjoon

예제 출력 1 복사

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

문제 풀이

const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().trim();
const result = [];
for (let i = 97; i <= 122; i++) {
  result.push(input.indexOf(String.fromCharCode(i)));
}
console.log(result.join(" "));

 

참고 : https://gurtn.tistory.com/48

 

[JS] 백준 10809번 알파벳 찾기

출처 백준 온라인 저지 www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출

gurtn.tistory.com

참고 : https://hianna.tistory.com/379

 

[Javascript] 특정 문자 위치 찾기 (indexOf 함수)

지난 번에는 특정 위치의 문자를 찾는 방법, 즉, index값을 입력으로 전달하여, 해당 위치에 있는 문자를 읽는 방법을 알아보았습니다. [Javascript] 특정 위치 문자 찾기 2가지 방법 (charAt 함수, 대괄

hianna.tistory.com