본문 바로가기

백준/언랭 탈출하기

[Java] 백준 11654 : 아스키코드 - charAt

문제

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

입력

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

출력

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

예제 입력 1 복사

A

예제 출력 1 복사

65

예제 입력 2 복사

C

예제 출력 2 복사

67

예제 입력 3 복사

0

예제 출력 3 복사

48

 

정답코드

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // 아스키코드 : 문자열 -> 숫자 변환 
    String input = sc.next();
    char output = input.charAt(0); // 0번째 문자열이 반환 되도록
    
    System.out.println((int)output);
  
  }
}

 

- charAt

- Java의 String 클래스에 포함된 메서드입니다. 이 메서드는 주어진 인덱스에 있는 문자를 반환

 

- 아스키코드란?
ASCII는 American Standard Code for Information Interchange의 약자로, 정보 교환을 위한 미국 표준 코드

각 문자와 숫자를 7비트의 이진 숫자로 매핑하는 것을 의미

예를 들어, 대문자 'A'는 아스키코드에서 65로 표현되며, 'B'는 66으로 표현

- Java에서 문자를 숫자로 변환하기
Java에서 char 데이터 타입은 내부적으로 16비트 유니코드 값을 사용하여 문자를 표현

아스키 코드는 유니코드의 하위 집합으로 간주될 수 있다.

따라서, Java에서 아스키 문자를 사용할 때, 이 문자의 아스키 값은 그대로 해당 문자의 char 값으로 사용

System.out.println((int)output);

 

에서, output의 char 값을 int 타입으로 캐스팅하여 해당 문자의 아스키 코드 값을 출력
예를 들어, 사용자가 'A'를 입력하면, output에는 'A'가 저장되고, 이 'A'의 아스키 값인 65가 출력

 


* 요약

문자는 내부적으로 숫자로 표현되며, Java에서는 이러한 내부 표현을 직접 액세스하거나 변환하는 기능을 제공하여 아스키 코드와 같은 값을 얻을 수 있습니다.