[알고리즘] 정규 표현식

황성현·2024년 3월 31일

코딩테스트 대비

목록 보기
18/22

백준 2671

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        if (input.matches("^(100+1+|01)+$")) {
            System.out.println("SUBMARINE");
        } else {
            System.out.println("NOISE");
        }
    }
}

얻어갈 점:

  • 정규 표현식을 사용하는 문제를 처음 접해서 노가다해서 풀려고 했는데 실패했다.
  • 특정 규칙을 가지는 문자열을 체크할 수 있는 정규표현식의 존재를 구글링해서 찾아서 잘 정리된 글을 아래에 첨부함
  • 정규 표현식에서 () 와 []의 차이가 궁금했는데 ()는 예를들어 "(abc)+" => "abc" 문자열의 하나 이상 연속되게 나온다는 것, 즉 그룹화/ []는 예를들어 "[abc]" => "a" "b" "c" 중 하나의 문자와 매치된다는 것.

https://adjh54.tistory.com/104#2)%20%EC%A0%95%EA%B7%9C%EC%8B%9D%EC%9D%84%20%EC%9C%84%ED%95%9C%20%EC%A0%95%EA%B7%9C%20%EB%A9%94%EC%84%9C%EB%93%9C-1

0개의 댓글