loading

알고리즘/알고리즘JAVA

[백준알고리즘/문자열] 11654번 문제 : 아스키 코드(자바/JAVA)

침착곰 2021. 5. 12. 09:48
반응형

안녕하세요

백준 알고리즘 단계별로 풀어보기 7단계 문자열의 아스키 코드를 풀어봤습니다

아스키 코드를 보는 순간 이번 단계에서는 문자열함수에 관한 것을 다룰 것 같네요

이번 문제는 특별한 알고리즘이 있는게 아니라서 다들 어렵게 풀지 않았을 거예요

제가 푼 방법에 대해서 알아보겠습니다

 


문제 링크입니다

www.acmicpc.net/problem/11654

 

11654번: 아스키 코드

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

www.acmicpc.net

 

문제

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

 

입력

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

 

출력

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

 

 


 

 

문제 풀이

문제는 두 가지 방법으로 풀었습니다

첫 번째 방법입니다

BufferedReader로 받아 char형태로 변경해 아스키코드로 출력합니다

무난무난하게 풀었습니다

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int a = br.readLine().charAt(0);
		
		System.out.print(a);
	}
}

 


두 번째 방법입니다

Syste.in.read(); 를 사용해서 풀었습니다

저도 구글링을 하면서 알은 방식입니다

System.in.read()를 하면 입력한 한 글자만 읽어드릴 수 있습니다

그렇게 읽어드려서 아스키코드를 출력합니다

public class Main2 {
	public static void main(String[] args) throws Exception {
		
		int a = System.in.read();
		
		System.out.print(a);
	}
}

 


속도 비교

1. BufferedReader 사용

2. System.in.read() 사용

시간 차이는 없지만 메모리량에서 2번이 더 빠른 것을 볼 수 있습니다

이상 백준 알고리즘 11654번 아스키 코드를 풀은 내용이었습니다!

 

다음 문제 : 2021.05.13 - [알고리즘/알고리즘JAVA] - [백준알고리즘/문자열] 11720번 문제 : 숫자의 합(자바/JAVA)

반응형
그리드형