[백준/JAVA] 문자열 - 10809번 알파벳 찾기

신승현·2022년 8월 10일
0

더 좋은 문제 풀이가 있거나 궁금하신 점이 있다면 편하게 댓글 남겨주세요!


📝 문제


10809번 알파벳 찾기


🤷‍♂️ 접근 방법


단어 S를 입력 받고 알파벳 크키 만큼의 배열을 선언합니다.

	String S = sc.next();

	int arr[] = new int [26];

다음으로는 배열의 초기값을 모두 -1로 지정하였습니다.

	for(int i =0; i<arr.length; i++){
		arr[i] = -1;
	}

입력 받은 문자열에서 문자를 추출하고 -'a'를 통해 해당 위치의 값에 문자의 처음 등장 위치를 저장하였습니다.
단, 처음 등장하는 위치의 값을 입력해야 함으로 arr 값이 변경 되지 않았을 때만 값을 변경합니다.

	for(int j =0; j< S.length(); j++) {
       	if( arr[S.charAt(j) -'a'] == -1) arr[S.charAt(j) - 'a'] = j;
	}

✍ 풀이


import java.util.Scanner;

public class test {
    public static void main(String arg[]) {

        Scanner sc = new Scanner(System.in);

        String S = sc.next();

        int arr[] = new int [26];

        for(int i =0; i<arr.length; i++){
            arr[i] = -1;
        }

        for(int j =0; j< S.length(); j++) {
            if( arr[S.charAt(j) -'a'] == -1) arr[S.charAt(j) - 'a'] = j;
        }

        for(int k = 0; k < arr.length; k++){
            System.out.printf(arr[k] + " ");
        }

    }
}


profile
I have not failed. I've just found 10,000 ways that won't work. - Thomas A. Edison

0개의 댓글