📌URL
https://school.programmers.co.kr/learn/courses/30/lessons/12918
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔎풀이
class Solution {
public boolean solution(String s) {
for(int i = 0; i < s.length(); i++) {
if(!('0'<= s.charAt(i) && s.charAt(i)<='9')) {
return false;
}else if(s.length() != 4 && s.length() !=6 ) {
return false;
}
}
return true;
}
}
s의 길이만큼 for문을 돌리고 s.charAt(i)와 '0' ~ '9'사이의 값을 비교 후 다르면 false를 반환하도록 하였다.
언뜻보면 0부터 9까지의 숫자를 비교하는 식 같지만 사실은 '0'의 유니코드인 48부터 '9'의 유니코드인 57을 비교하는 식이다.
그리고 28,29번 테스트 케이스가 계속 틀려서 애를 먹었는데,
문제를 잘 읽어보면 "문자열 s의 길이가 4 혹은 6이고 "란는 문구가 있다.
이는 파라미터가 4,6 길이의 문자열을 반환한다는 것이 아니라 '문자열의 길이가 4 또는 6이 아니라면 false를 반환해라!'였던것이었다 ㅎ...
질문하기 갯수를 보면 나만 그 부분이 헷갈린건 아니었나보다...ㄷㄷ
'👨💻 Coding Test' 카테고리의 다른 글
[ 프로그래머스 / Java ] #76501_음양 더하기 (0) | 2023.12.06 |
---|---|
[ 프로그래머스 / Java ] #86051_없는 숫자 더하기 (0) | 2023.12.04 |
[ 프로그래머스 / Java ] #12969_직사각형 별찍기 (0) | 2023.11.30 |
[ 프로그래머스 / MySQL ] #59403_동물의 아이디와 이름 (0) | 2023.11.30 |
[ 프로그래머스 / Java] #12910_나누어 떨어지는 숫자 배열 (0) | 2023.11.29 |