[Java] 문자열 다루기 기본
문제
https://programmers.co.kr/learn/courses/30/lessons/12918
코딩테스트 연습 - 문자열 다루기 기본
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이��
programmers.co.kr
참고
자료형 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
ASCII - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 1972 프린터 사용 설명서에 개시된 아스키 코드 차트표 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( , 아스키)는 영문
ko.wikipedia.org
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;
}
}