[프로그래머스] 문자열 다루기 기본

문자열 다루기 기본 문제라는 문제 이름으로 쉬운 문제라고 생각하고 풀었다. 아스키코드 상으로 알파벳 소문자 또는 대문자가 문자열 안에 존재하면 answer 상태를 false로 바꿔주고 리턴까지 시켰다. 하지만 주어진 테스트 케이스를 통과하였지만 자꾸 테스트 5,6번에서 막혔고 이유가 뭔지 골똘히 생각하던 중에 그 이유를 찾을 수 있었다.

1
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성되어 있는지 확인하는 함수, solution을 완성하세요.

아뿔싸. 문자열 s의 길이가 4또는 6인지 확인하는 구문을 넣지 않았다…

해당 문제의 질문하기에는 쉬운 문제임에도 불구하고 많은 사람들이 “왜 테스트케이스 5,6번에서 막히는 거죠?” 라는 바보같은 질문을 올려댔다. 나도 그 이유를 몰라 찾아 해맸고 탄식이 나올 정도로 어이없었다. 다음부턴 입출력만 보고 문제를 푸는 습관은 고쳐야겠다 라는 당연한 생각을 했다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public boolean solution(String s) {
boolean answer = true;
if (s.length() == 4 || s.length() == 6) {
for (int i=0; i<s.length(); i++){

if((65<= s.charAt(i) && s.charAt(i) <= 90) || (97<= s.charAt(i) && s.charAt(i) <= 122)){
answer = false;
break;
}
}
return answer;
}
else answer = false;
return answer;
}
}
Author

MoonDoni

Posted on

2020-02-07

Updated on

2020-02-07

Licensed under

댓글