본문 바로가기
Code/baekjoon [ 단계별 ]

백준 단계별

by jaeaemin 2022. 2. 21.

 

 

백준 11720 자바

숫자의 합

 

 

package StringEX;

import java.util.Scanner;

public class Q11720 {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int cnt = sc.nextInt();
        String value = sc.next();
        int ans=0;

        for(int i=0; i<cnt; i++){
            ans += value.charAt(i)-'0';
        }

        System.out.println(ans);

    }
}

 

여기서 중요한 포인트는 Char type의 문자를 어떻게 숫자로 바꾸냐이다.

이는 숫자 문자에 '0'문자를 빼주면 아스키 코드값에서 int형 정수를 가르키게 된다.

" value.charAt(i) - '0' " 

 

 

 

 

 

백준 10809 자바

알파벳 찾기

 

 

 

package StringEX;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Q10809 {
    public static void main(String args[])throws IOException {
        int[] alpha = new int[26];
        Arrays.fill(alpha, -1);

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String txt = br.readLine();

        for(int i=0; i < txt.length(); i++ )
        {
            int index = txt.charAt(i) - 'a';

            if(alpha[index]!=-1) continue;
            else{
                alpha[index] = i;
            }
        }

        for(int x : alpha){
            System.out.print(x+" ");
        }
    }
}

 

Arrays.fill( array, value) : Arrays내 값들을 value로 모두 초기화 시킴 

이 문제에서는 소문자 관계에 대하여 정보값을 반환해야 하므로 기존의 사용하던 charAt(i) - '0'을 하면 안되고

소문자 시작 값 'a'를 연산하여서  charAt(i) - 'a'를 하면 올바른 인덱스 값을 할당할 수 있다. 

동일 문자의 경우 if문을 사용해서 배열안의 값이 -1이 아닌 경우로 따로 처리해주면 되겠다 ~

 

 

 

 

 

백준 11720 자바

숫자의 합

 

반응형

'Code > baekjoon [ 단계별 ]' 카테고리의 다른 글

백준 단계별 <문자열2 >  (0) 2022.02.28
백준 단계별 <문자열>  (0) 2022.02.25
백준 단계별 문제 <함수>  (0) 2022.02.20
백준 단계별 문제 <배열>  (0) 2022.02.19
백준 단계별 문제 <1차원 배열>  (0) 2022.02.16