문제
https://programmers.co.kr/learn/courses/30/lessons/12918
참고
자료형 char
- char를 나타낼 수 있는 형태는 세가지이다.
- 유니코드
- ASCII 코드
- 문자
char ch1 = '\u0061';
char ch2 = 97;
char ch3 = 'a';
System.out.println("unicode : " + ch1); //a
System.out.println("ASCII : " + ch2); //a
System.out.println("character : " + ch3); //a
ASCII 코드표 참고
https://ko.wikipedia.org/wiki/ASCII
parseInt()
- int Integer.parseInt(String);
- 문자열을 int형(기본형)으로 변환
Byte.parseByte();
Short.parseShort();
Integer.parseInt();
Long.parseLong();
Float.parseFloat();
Double.parseDouble();
(char은 charAt())
- 이 때 함수의 매개변수로 들어오는 문자열이 숫자로만 이루어져 있어야 한다.
- 아닐 경우 NumberFormatException(숫자 형식 오류)이 발생하기 때문에 try-catch문으로 예외처리를 해야 한다.
코드 1 (ASCII 코드 이용)
class Solution {
public boolean solution(String s) {
if(s.length()!=4 && s.length()!=6)
return false;
for(int i=0;i<s.length();i++){
char letter = s.charAt(i);
if(letter < '0' || letter > '9') return false;
}
return true;
}
}
코드 2 (parseInt 이용)
class Solution {
public boolean solution(String s) {
if(s.length() == 4 || s.length() == 6){
try{
int x = Integer.parseInt(s);
return true;
} catch(NumberFormatException e){
return false;
}
}
else return false;
}
}
'Preparing Coding Test > Programmers L1' 카테고리의 다른 글
[Java] 약수의 합 (0) | 2020.07.22 |
---|---|
[Java] 수박수박수박수박수박수? (0) | 2020.07.21 |
[Java] x만큼 간격이 있는 n개의 숫자 (0) | 2020.07.21 |
[Java] 문자열 내림차순으로 배치하기 (0) | 2020.07.17 |
[Java] 두 정수 사이의 합 (0) | 2020.07.14 |