코딩테스트 연습 기록

이종길·2021년 12월 23일
0

코딩테스트 연습

목록 보기
12/128

2021.12.23 3일차

백준 10809번 (알파벳 찾기)

문제

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

나의 풀이

  1. a ~ z까지의 위치 (97 ~ 122), 길이 26
  2. 배열 기본값 -1로 지정, 해당하는 값 나오면 인덱스 값으로 변경
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String s = scanner.next();
        int[] intArr = new int[26];

        for (int i = 0; i < 26; i++) {
            intArr[i] = -1;

            for (int x = 0; x < s.length(); x++) {
                int index = s.charAt(x) - 97;

                if (intArr[index] == -1) {
                    intArr[index] = x;
                }
            }
            System.out.print(intArr[i] + " ");
        }
    }
}

생각하기

  • 특정 문자 찾을 때는 indexOf 사용하기
  • for문 아스키 코드 적용하기
  • for(int i = 'a'; i <= 'z'; i++) System.out.print(s.indexOf(i) + " ");
profile
Go High

0개의 댓글

관련 채용 정보