반응형
프로그래머스 문자열 다루기 기본 문제는
문자열 s의 길이가 4 혹은 6이면서
숫자로만 구성되면 true, 문자가 섞여있으면 false를 반환하라는 내용이다
두개가 포인트니
문자열의 길이 체크와
String이 전부 숫자인지 확인하면 되는데
풀이방법은 다음과 같다
먼저 문자열의 길이 체크는
s.length() 로 확인 가능하고
4,6이 아니면 다 false를 줘버리면 된다
그리고 String이 문자인지 숫자인지 체크하는 경우에는
아래 글을 참조하면 좀 도움이 될텐데
Integer.parseInt(String값);
혹은
Double.parseDouble(String값);
을 사용해서 String을 int나 Double 형태로 변환시키면 되는데
똑같이 변환시켜도 Integer는 되고 Double은 되지 않는 것으로 보아
아마 테스트 케이스에 소수는 포함되어 있지 않나 보다
이게 프로그래머스가 정말 후진게
학습과 시험의 차이를 모르는 것 같다
배울 때는 틀렸으면 왜 틀렸는지 알려줘야 하는데
그냥 틀렸다! 이러면 뭐 어쩌라는 건지
시험일 경우에는 그냥 틀렸다! 이러면 되겠지만
이건 시험이 아니라 학습 아닌가
틀렸으면 왜 틀렸는지를 알아서 보완하게 해야하는데
거기까지는 머리가 굴러가지 않는지
왜!? 가 생략되어 있다
그거 만드는게 뭐 어렵다고
어쨌든 프로그래머스에 바로 적용할 수 있는
전체 풀이는 다음과 같다
class Solution {
public boolean solution(String s) {
boolean answer = true; // 기본값 true
try {
Integer.parseInt(s); // Int 형태로 변환 가능할 경우 true 유지
if(s.length() != 4 && s.length() != 6) { // 4,6이 아닌 경우
answer = false; // 문자열의 길이가 4,6이 아닌 경우 false
}
} catch (Exception e) {
answer = false; // 불가능할 경우 false로 변경
}
return answer; // 값 반환
}
}
반응형
'IT > Algorithm' 카테고리의 다른 글
프로그래머스(Programmers) 문자열 내 p와 y의 개수(java) (0) | 2019.08.10 |
---|---|
프로그래머스(Programmers) 같은 숫자는 싫어(java) (0) | 2019.08.08 |
프로그래머스(Programmers) 가운데 글자 가져오기(java) (0) | 2019.08.08 |
프로그래머스(Programmers) 서울에서 김서방 찾기 풀이(java) (0) | 2019.08.08 |
프로그래머스(Programmers) 수박수박수박수박수박수? 풀이(java) (0) | 2019.08.07 |
댓글