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번이 좋을 것 같다.
'Algorithm' 카테고리의 다른 글
| [백준 알고리즘 JAVA] 10809번 알파벳 찾기 (1) | 2024.04.07 |
|---|---|
| [백준 알고리즘 JAVA] 11720번 숫자의 합 (0) | 2024.04.07 |
| [백준 알고리즘 JAVA] 9086번 문자열 (3) | 2024.04.06 |
| [백준 알고리즘 JAVA] 2743번 단어 길이 재기 (1) | 2024.04.06 |
| [백준 알고리즘 JAVA] 27866번 문자와 문자 (0) | 2024.04.06 |