반응형

1. 문제 번호 10809번


 

 

 

2. 문제 풀이 

 - 핵심은 ASCII 코드를 활용하는 것

    A = 65, a = 97 

 

 - Arrays.fill( int [] a , int val )

public static void fill(int[] a, int val)

 

 - Char Convert to int

     -  Character.getNumericValue

 

 - String Convert to Char

     -  String.charAt(index)

 

 - Char Convert to String 

     -  String.valueOf(char)

 

 

나의 문제풀이 방식 및 순서

 방법 1. 

 1. 배열 26개에 초기 값 -1 을 초기화

 2. 입력 값 backjoon에 각각 97을 나눠 ASCII코드 값을 추출

 3. 그것을 배열 index로 값 삽입

 

 방법 2.

 1.  배열 값 A~Z까지 다 만든다.

 2. 배열 값 -1로 26개 초기 세팅

 3. 입력값 backjoon과 배열 값 A~Z까지 차례로 비교하여 같으면 2.의 배열에 추가

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String inputLine = br.readLine();
        int [] alphabetIndex = new int[26];
        Arrays.fill(alphabetIndex,-1);

        for(int i = 0; i < inputLine.length(); i++){
            int temp = ((int) inputLine.charAt(i)) % 97;
            if(alphabetIndex[temp] == -1){
                alphabetIndex[temp] = i;
            }
        }

        for (int i : alphabetIndex){
            System.out.print(i + " ");
        }
        br.close();
    }
}

 

 

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String inputLine = br.readLine();
        char[] alphabet = new char[26];
        int [] alphabetIndex = new int[26];
        Arrays.fill(alphabetIndex, -1);
        
        for (int i = 0; i < 26; i++){
            alphabet[i] = (char) (i + 97);
        }

        for (int i = 0; i < inputLine.length(); i++){
            for (int j = 0; j < alphabet.length; j++){
                if(inputLine.charAt(i)==alphabet[j]){
                    alphabetIndex[j] = (alphabetIndex[j] == -1) ? i : alphabetIndex[j];
                }
            }
        }
        
        for (int i:alphabetIndex){
            System.out.print(i + " ");
        }
        br.close();
    }
}

 

- 실패 소스코드 -




4. 추가 개념

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 문자열_1152번  (0) 2024.05.16
[BOJ/백준] 문자열_2675번  (0) 2024.05.15
[BOJ/백준] 문자열_11720번  (0) 2024.05.15
[BOJ/백준] 문자열_11654번  (0) 2024.05.15
[BOJ/백준] 문자열_9086번  (0) 2024.05.15

+ Recent posts