블로그 이전, 2022. 11. 11. 01:55 에 작성했던 글입니다.
0.나의 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
char a = scan.next().charAt(0);
int result = (int)a;
System.out.println(result);
}
}
1.아스키코드
ASCII code
아스키II -> 정보 교환 이라는 뜻
즉, 사람이랑 컴퓨터랑 정보 교환 목적으로 만든 코드다.
'A'를 키보드에서 입력->컴퓨터 메모리에 bit 형식으로 저장, 'A'로 저장 안됨.
즉, A를 컴퓨터에 저장하려면 bit 형식으로 바꿔줘야한다.
몇 개의 비트를 가지고 어떤 bit 상태로 표현할 것인지 약속을 해야한다.=> '아스키코드'
아스키코드는 52개의 영문 알파벳 대소문자(a~z), 10개의 숫자(0~9), 32개의 특수문자, 하나의 공백 문자(Null)로 이루어진다.
2.Scanner의 next()와 nextLine()
공통점:Scanner 클래스의 메소드다, 문자열로 반환을 해준다.
next():스페이스 or 공백 전까지 입력받은 문자열 반환, 개행문자("\n") 포함하지 않음.
nextLine():엔터치기 전까지의 문자열 반환, 개행문자("\n")를 포함.
3.Scanner를 통해 char형 데이터 입력받기
이 문제의 경우 문자 하나만 입력 받아 저장해야한다.
그런데 Scanner는 문자를 입력받는 기능이 없다.
즉, char a = scan.next(); or char a = scan.nextLine();을 쓸 수 없다.
next(), nextLine()은 String 값을 받는 함수이기 때문이다.
해결법: charAt(i) 함수 사용하기
charAt(i) 함수: String 타입의 데이터(문자열)에서 특정 문자를 char 타입으로 변환할 때 사용하는 함수다.
i 자리에 int형 변수를 넣어서 원하는 위치의 문자를 가져온다.
문자열(String)로 입력을 받은 후 charAt메서드를 사용해서 문자(char형)로 변환하면 된다.
이 경우 next()로 문자열을 입력받아 charAt(0)으로 첫 번째 문자를 받아온다.
(개발 초보입니다. 틀린 부분이 있을때 알려주시면 감사하겠습니다!)
'알고리즘 리뷰' 카테고리의 다른 글
| 백준 JAVA 3009 네 번째 점 리뷰 (0) | 2023.08.29 |
|---|---|
| 백준 JAVA 11943 파일 옮기기 리뷰 (0) | 2023.08.29 |
| JAVA 백준 15552 빠른 A+B 리뷰 (0) | 2023.08.29 |
| JAVA 백준 2338 긴자리 계산 리뷰 (0) | 2023.08.29 |
| JAVA 백준 10809 알파벳 찾기 리뷰 (0) | 2023.08.29 |