🔥
https://programmers.co.kr/learn/courses/30/lessons/12918?language=java
코딩테스트 연습 - 문자열 다루기 기본
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1
programmers.co.kr
더보기
> 문제 보기
문제 설명
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
"a234" | false |
"1234" | true |
🔥 [로직]
1. 길이가 4이거나 6이 아닌경우 false 리턴
2. string s만큼 for문 반복하면서 s값이 정수인지 확인(Character.isDigit()) -> 정수인 경우 false 리턴
🔥 [최종 코드]
import java.util.*;
class Solution {
public boolean solution(String s) {
boolean answer = true;
if(s.length() != 4 && s.length() != 6) {
return false;
}
for(int i = 0; i < s.length(); i++) {
if(Character.isDigit(s.charAt(i)) == false)
return false;
}
return answer;
}
}
🔥 [소감]
짧게 고민하고 짠 코드 치고는 효율적이라고 생각했다.
다른 사람의 풀이중에서 너무 감동적으로 압축시켜놓은 코드가 있어서 가져왔다.
return s.matches("^[0-9]{4}|{6}$");
정규식으로 한번에 이렇게 빠르게 해결할 수 있다니 너무 신기하다..
나도 정규식 제대로 공부해서 자유자재로 사용할 수 있을 정도가 되었으면 좋겠다!
코테 준비를 본격적으로 시작한지 얼마 되지 않아 코드에 미흡한 점이 많을 수 있습니다.
부족한 점 피드백 주시면 앞으로의 포스팅에 반영하겠습니다! 봐주셔서 정말 감사합니다 :)
-budtree
'🔥 Problem Solving > programmers' 카테고리의 다른 글
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT[1차] 추석 트래픽(Java) (0) | 2022.05.29 |
---|---|
[프로그래머스] 연습문제 서울에서 김서방 찾기(Java) (0) | 2022.05.26 |
[프로그래머스] 연습문제 문자열 내 p와 y의 개수(Java) (0) | 2022.05.24 |
[프로그래머스] 연습문제 문자열 내 마음대로 정렬하기(Java) (0) | 2022.05.23 |
[프로그래머스] 나누어 떨어지는 숫자 배열(Java) (0) | 2022.05.22 |