ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • stack
  • 프로그래머스 Lv.2
  • 해시
  • 백준
  • sort
  • BFS
  • greedy
  • compareTo()
  • entrySet
  • git
  • 깃허브
  • reactjs
  • 안드로이드
  • Arrays.sort()
  • 코틀린
  • 스택/큐
  • kotiln
  • 프로그래머스
  • React
  • DP
  • Android
  • 깃
  • Queue
  • HashMap
  • java
  • PriorityQueue
  • Comparator
  • git bash
  • dfs
  • getOrDefault

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

Algorithm & Data Structure/프로그래머스

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

2022. 1. 31. 03:44

https://programmers.co.kr/learn/courses/30/lessons/12918

 

코딩테스트 연습 - 문자열 다루기 기본

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

programmers.co.kr

풀이

문자열을 charAt을 통해 숫자 0~9에 포함되는지 아닌지 판단한다.

class Solution {
    public boolean solution(String s) {
        // 문자열 길이가 4,6 인지 확인
        if(!(s.length()==4||s.length()==6)) return false;
        // 문자열이 0~9중에 맞는게 없다면 false
        char[] num = {'0','1','2','3','4','5','6','7','8','9'};
        for(int i=0;i<s.length();i++){
            for(int j=0;j<num.length;j++){
                if(s.charAt(i)==num[j]) break; // 숫자
                else if(j==num.length-1) return false;
            } 
        }
        return true;
    }
}

 

정규표현식 사용( String.matches() )

String.matches() : 특정 패턴(정규표현식(Regex))의 문자열을 포함하는지 확인하는 메소드. 대상 문자열과 패턴이 일치할 경우 true 반환한다.

정규 표현식 설명
^[0-9]*$ 숫자
^[a-zA-Z]*$ 영문자
^[가-힣]*$ 한글
class Solution {
    public boolean solution(String s) {
        if(!(s.length()==4||s.length()==6)) return false;
        return s.matches("(^[0-9]*$)");
    }
}

 

Stirng to Int (형변환)

s를 int형으로 형변환해서 오류가 나면 false, 오류나지 않으면 true를 반환한다.

class Solution {
  public boolean solution(String s) {
      if(s.length() == 4 || s.length() == 6){
          try{
              int x = Integer.parseInt(s);
              return true;
          } catch(NumberFormatException e){
              return false;
          }
      }
      else return false;
  }
}
저작자표시

'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글

[Java] 프로그래머스 : 문자열 내 p와 y의 개수  (0) 2022.01.31
[Java] 프로그래머스 : 가운데 글자 가져오기  (0) 2022.01.31
[Java] 프로그래머스 : 두 개 뽑아서 더하기  (0) 2022.01.31
[Java] 프로그래머스 : 자연수 뒤집어 배열로 만들기  (0) 2022.01.31
[Java] 프로그래머스 : 제일 작은 수 제거하기  (0) 2022.01.31
    'Algorithm & Data Structure/프로그래머스' 카테고리의 다른 글
    • [Java] 프로그래머스 : 문자열 내 p와 y의 개수
    • [Java] 프로그래머스 : 가운데 글자 가져오기
    • [Java] 프로그래머스 : 두 개 뽑아서 더하기
    • [Java] 프로그래머스 : 자연수 뒤집어 배열로 만들기
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바