본문 바로가기
Algorithm

[백준 알고리즘 JAVA] 11654번 아스키 코드

by wook99 2024. 4. 7.

https://www.acmicpc.net/problem/11654

 

11654번: 아스키 코드

알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

문제

알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.

입력

알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.

출력

입력으로 주어진 글자의 아스키 코드 값을 출력한다.

 

 풀이1. 입력받은 값 바로 형변환

 

핵심

1. scanner를 통해 String타입으로 입력을 받고, charAt메서드(반환타입이 char)를 통해 ch 변수에 초기화 해준다.

2. ch를 int로 형변환 해서 출력

import java.util.Scanner;


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

        System.out.println((int)ch);
    }
}

 

풀이2. 아스키코드를 직접 사용

 

핵심

1. scanner를 통해 str으로 입력을 받고 조건문으로 str.charAt(0)과 아스키코드를 비교

아스키 코드 표

 

char타입은 아스키 코드와 직접 비교가능하다.

import java.util.Scanner;


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

        if(str.charAt(0)>=97){
            System.out.println('a' + (str.charAt(0) - 97));
        }else if(str.charAt(0)>=65){
            System.out.println('A' + (str.charAt(0) - 65));
        }else if(str.charAt(0)>=48 &&str.charAt(0)<=57){
            System.out.println('0' + (str.charAt(0) - 48));
        }
    }
}

 

 

제출시간 : 풀이 1 < 풀이 2

메모리 : 풀이 1 < 풀이 2

 

아주 근소한 차이라서 둘다 써도 괜찮을듯. 가독성 측면에서 1번이 좋을 것 같다.