logo

𝝅번째 알파카의 개발 낙서장

screen

[프로그래머스 / JAVA] Level 1 문자열 다루기 기본 (12918)

posts

알고리즘

시리즈 톺아보기

프로그래머스

프로그래머스
count

문자열 다루기 기본 🔗

랭크 사용 언어
Level 1 JAVA

🔗 문자열 다루기 기본

문제 설명 🔗

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

제한 사항 🔗

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예 🔗

s return
"a234" false
"1234" true

풀이 🔗

아래의 조건을 모두 만족하는 문자열만 true를 반환하며, 나머지는 모두 false로 반환한다.

  • 모든 문자가 숫자로 이루어짐
  • 글자가 4글자 혹은 6글자 (4 ~ 6이 아님)

정규식을 이용하면 깔끔하게 풀 수 있다. 정규식을 구성하여 해당 식에 부합하면 true, 아니라면 false를 반환하자.

  • 정규식: ^([0-9]{4}|[0-9]{6})$
  • [0-9] - 숫자
  • {4} - 4글자
  • | - OR
  • ^ - 문자의 앞
  • - 문자의 끝

문자의 전체가 4자리 숫자 혹은 6자리 숫자인 정규식이다.

코드 🔗

JAVA

0import java.util.regex.Pattern;
1
2/**
3 * 문자열 다루기 기본 클래스
4 *
5 * @author RWB
6 * @since 2021.12.13 Mon 15:38:26
7 */
8class Solution
9{
10 /**
11 * 해답 반환 메서드
12 *
13 * @param s: [String] 문자열
14 *
15 * @return [boolean] 해답
16 */
17 public boolean solution(String s)
18 {
19 return Pattern.matches("^([0-9]{4}|[0-9]{6})$", s);
20 }
21}