문제 링크 : https://www.acmicpc.net/problem/11654
1. 요구 사항 이해
시간, 메모리 제한 : 1초 / 256MB
소문자, 대문자, 숫자0~9 중 하나 입력, 입력된 글자의 아스키 코드값 출력
2. 설계/검증
함수화
유효성검사 : 입력 글자가 1글자
문자 유효성 검사 : 알파벳 대소문자 또는 0~9숫자
(int) 형변환
복잡도
시간 복잡도 | 최악의 경우 | 공간 복잡도 |
O(1) | O(1) |
3. 정상 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 입력을 위한 객체 생성
Scanner scan = new Scanner(System.in);
String str = scan.next();
// 입력 길이 유효성 검사
if (str.length() != 1) {
return;
}
char ch = str.charAt(0);
// 문자 유효성 검사
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9')) {
System.out.println((int) ch);
} else {
System.out.println("알파벳 소문자, 대문자, 숫자 0-9 중 하나");
}
scan.close();
}
}
추가 정리
형변환 type casting
- 자동 형변환 implicit casting
- 작은 데이터 타입이 더 큰 데이터 타입으로 변환될 때 발생. 데이터 손실이 없기 때문에 자바 컴파일러가 자동으로 수행
int i = 100;
long l = i; // int에서 long으로 자동 형변환
double d = l; // long에서 double로 자동 형변환
- 강제 형변환 explicit casting
- 큰 데이터 타입을 작은 데이터 타입으로 변환할 때 발생. 데이터 손실이 발생할 수 있기 때문에 프로그래머가 명시적으로 수행해야 함
double d = 100.04;
long l = (long) d; // double에서 long로 강제 형변환
int i = (int) l; // long에서 int로 강제 형변환
- 참조형 형변환 reference type casting
- 업캐스팅 upcasting
- 서브 클래스 타입을 슈퍼글래스 타입으로 변환. 자동으로 수행됨
- 업캐스팅 upcasting
class Animal {}
class Dog extends Animal {}
Animal a = new Dog(); // 업캐스팅, 자동 형변환
- 다운캐스팅 downcasting
- 슈퍼클래스 타입을 서브클래스 타입으로 변환. 명시적으로 수행해야함
Animal a = new Dog();
Dog d = (Dog) a; // 다운캐스팅, 명시적 형변환
'◖코딩 테스트◗▬▬▬▬▬▬▬▬▬ > 백준' 카테고리의 다른 글
[백준] 10809 알파벳 찾기 (설명/코드/정답) (0) | 2024.06.14 |
---|---|
[백준] 11720 숫자의 합 (설명/코드/정답) (0) | 2024.06.12 |
[백준] 9086 문자열 (설명/코드/정답) (0) | 2024.06.09 |
[백준] 2743 단어 길이 재기(설명/코드/정답) (0) | 2024.06.08 |
[백준] 27866 문자와 문자열 (설명/코드/정답) (0) | 2024.06.04 |