[백준] 10809번 - 알파벳 찾기 JAVA 자바 CharAt()함수 활용

2023. 9. 11. 18:46·Etc/코딩테스트

 

제출답안

import java.util.*;

public class Main {

	public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        String word = s.next();
        int arr2[] = new int[26];

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

        for (int i = 0; i < word.length(); i++) {
            char c = word.charAt(i);
                if (arr2[c - 'a'] == -1) {
                    arr2[c - 'a'] = i;
                }
        }

        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + " ");
        }
	}
		
}

1. 입력받은 단어를 word변수에 담고, 알파벳a~z의 값을 저장하기 위한 배열 생성 (알파벳 개수 26)

2. 알파벳 개수만큼 for문을 반복하여 -1을 넣어준다 -> 값을 찾지 못하면 -1 그대로 출력하기 위함

3. 주어진 단어에 들어간 문자열만큼 for문을 반복하여 char형 변수 c에 단어의 0번째부터 넣어준다.

- i가 0일때, baekjoon의 b가 c에 입력, 1일때 a가 저장.... 마지막은 n저장

4.해당 알파벳은 a를 뺀 인덱스의 순번이기 때문에 c-a한값을 해당 배열 인덱스에 i값을 담아준다

-> 아스키코드 a:97, b:98... -> 98-97 = 1 -> b는 첫번째이다. (배열은 0번부터 시작)

baekjoon -> b => arr[1] = 0 -> {-1,0,-1,-1......}
baekjoon -> a => arr[0] = 1 -> {1,0,-1,-1........}
baekjoon -> e => arr[4] = 2 -> {1,0,-1,-1,2,-1,-1..}
baekjoon -> k => arr[10] = 3 -> {1,0 ,-1 ,-1, 2 ,-1 ,-1 ,-1 ,-1 ,-1,3...}

* 즉 arr[문자-'a']=i 값을 담고, 존재하지 않으면 기존에 넣어둔 -1이 출력된다

5. 만약 해당 알파벳이 여러개 존재할 경우 첫번째로 위치한 인덱스를 출력하기 위해 해당 배열값이 -1일 경우에만 i를 넣도록 한다

(-1이 아닌 다른 값이 들어가 있으면 이미 앞에서 나왔다는 것임)

6. for문으로 알파벳 개수만큼 반복하여 배열을 출력한다.

'Etc > 코딩테스트' 카테고리의 다른 글

[백준] 11720번 - 숫자의 합 JAVA 자바 (아스키코드 활용)  (0) 2023.09.11
[백준] 11654번 - 아스키코드 출력하기 ASCII JAVA 자바 - read()  (0) 2023.09.11
[백준] 9086번 - 문자열 JAVA 자바 문제풀이 CharAt()&length()  (0) 2023.09.11
[백준] 2743번 - 단어 길이 재기 JAVA 자바 - length()함수  (0) 2023.09.11
[백준] 27866번 - 문자와 문자열 자바 JAVA (CharAt함수 사용)  (0) 2023.09.11
'Etc/코딩테스트' 카테고리의 다른 글
  • [백준] 11720번 - 숫자의 합 JAVA 자바 (아스키코드 활용)
  • [백준] 11654번 - 아스키코드 출력하기 ASCII JAVA 자바 - read()
  • [백준] 9086번 - 문자열 JAVA 자바 문제풀이 CharAt()&length()
  • [백준] 2743번 - 단어 길이 재기 JAVA 자바 - length()함수
시녜's
시녜's
성장중인 새싹 개발자 🌱
  • 시녜's
    개발기록
    시녜's
  • 전체
    오늘
    어제
    • 분류 전체보기
      • FE
        • React
        • javascript(jQuery)
        • HTML & CSS
      • BE
        • Java [Servlet , Spring]
        • C & C++
        • Node.js
        • node.js
        • SQL (Oracle, mysql)
      • CS
        • 프로그래밍 이론(정보처리기사)
      • Etc
        • 코딩 챌린지
        • 개발 성장 일지
        • 코딩테스트
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리액트
    자바
    백준문제풀이
    백준코딩테스트
    자바반복문
    코딩테스트
    스프링
    코테기초
    자바배열
    백준
    javascript
    mysql
    코딩입문
    프로그래밍
    백준단계별문제
    코테
    CharAt함수
    자바스크립트
    자바조건문
    제이쿼리
    React
    jquery
    jsp
    html
    백준브론즈
    Java
    코딩기초
    자바기초
    자바문자열
    코딩테스트입문
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
시녜's
[백준] 10809번 - 알파벳 찾기 JAVA 자바 CharAt()함수 활용
상단으로

티스토리툴바