예제 코드는 모두 Java 언어를 사용한다. 문자 그대로 찾기 문자 그대로 찾으려면 찾고 싶은 문자열 그대로 쓰면 된다. regex : 찾고 싶은 문자열 str : 해당 문자열 public class code { public static void main(String[] args) { String regex = "Eric"; String str = "Hello, my name is Eric. Please visit " + "my github at "; if(str.contains(regex)) { System.out.println("str 안에 " + regex + " 문자열이 존재한다."); } else { System.out.println("str 안에 " + regex + " 문자열이 존재하지 않는..
정규 표현식(regular expression) 줄여서 정규식(regex)이라고도 한다. 텍스트를 찾고 조작하는 데 쓰는 문자열이다. 말 그대로 정규 표현 언어를 사용하여 만들어진다. grep grep은 파일이나 표준 입력된 텍스트를 대상으로 검색을 수행하는 유닉스 유틸리티. grep에서 기본, 확장, Perl과 호환되는 정규 표현식을 쓸 수 있다. -E로 확장 정규 표현식을 사용한다. -G로 기본 정규 표현식을 사용한다. -P로 펄 정규 표현식을 사용한다. 유의사항 기본적으로 grep은 일치하는 부분이 있으면, 그 줄을 모두 표시한다. 만약 정확히 일치하는 부분만 보고 싶다면, -o 옵션을 쓴다. -v 옵션은 일치한 부분을 반전시켜 일치하지 않는 줄만 표시한다. -c 옵션은 일치한 부분을 보여주지 않고..
더 깔끔한 노션을 원한다면 Baekjoon 2504 괄호의 값 - Stack 설계 www.notion.so 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 설계 괄호의 종류는 '(', ')', '[', ']' 총 4개이다. 각 괄호에 따라 sum을 바꿔준다. '(' 일 때에는 sum*=2 '[' 일 때에는 sum*=3 ')' 일 때에는 sum/=2 ']' 일 때에는 sum/=3 마지막 stack이 비어있는지 확인해준다. 1. '('와 '['일 경우 case '(': sum *= 2; stack.push(ch..
더 깔끔한 노션을 원한다 Baekjoon 3190 뱀 - Deque 설계 www.notion.so 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 설계 1. 보드에 사과의 위치(좌표) 값을 1로 둔다. 2. 뱀의 위치는 2로 둔다. 3. 뱀의 방향 변환 정보는 Queue에 저장한다. 4. 뱀의 이동한 경로는 Deque에 저장한다. (크기는 사과를 먹을 때마다 1씩 증가, 초기값은 1) 1. 상수 상수가 총 3개로 구성하였다. final int NORMAL = 0; final int APPLE = 1; final in..
더 깔끔한 노션을 원한다면 Baekjoon 13459 구슬 탈출 - BFS 설계 www.notion.so 13459번: 구슬 탈출 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 설계 상하좌우로 움직이는 것을 큐에 넣어준다. O의 좌표가 될 때, 또는 횟수가 10이 넘었을 때 끝내준다. 같은 줄에 빨간 공과 파란 공이 같이 있다면 상하좌우의 좌표를 잘 생각해줘야 한다. 1. 초기 큐 처음엔 빨간 구슬과 파란 구슬의 초기 좌표를 넣어준다 Queue redQueue = new LinkedLis..
더 깔끔한 노션을 원한다면 Baekjoon 14503 로봇 청소기 - Simulation 설계 www.notion.so 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 설계 시뮬레이션은 문제에서 나와있는 설계를 그대로 구현하면 되는 문제이다. 1 현재 위치를 청소한다. // 1. 현재 위치를 청소한다. if (area[robotY][robotX] == NON_CLEAN) { answer++; area[robotY][robotX] = ALREADY_CLEAN; } 2 현재 위치에서 현재 방향을 기준으로 왼쪽방향..
더 깔끔한 노션을 원한다면 Baekjoon 1987 알파벳 - BackTracking 설계 www.notion.so 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 설계 1. 배열 범위를 벗어나지 않는지 체크 2. 이미 방문했는지 체크 3. 이미 방문한 알파벳인지 체크 이미 방문한 알파벳인지 체크하는 것이므로 백트래킹을 사용해야 한다. 1. 배열 범위 private boolean isLimit(int r, int c) { return r > 0 && c > 0 && r 0 && r
더 깔끔한 노션을 원한다면 Baekjoon 1759 암호 만들기 - BackTracking 설계 www.notion.so 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 1. input char[] password = new char[L]; visit = new boolean[C]; charArr = new char[C]; String[] strArr = br.readLine().split(" "); for (int i = 0; i < C; i++) { charArr[i] = strArr[i].charAt(0); ..
- Total
- Today
- Yesterday
- BAEKJOON
- 이팩티브 자바
- 클린 코드
- 알고리즘
- 백준
- 클린 아키텍처
- BOJ
- 객체지향
- programmers
- Spring Boot
- 디자인패턴
- Spring
- Effective Java
- Olympiad
- AWS
- 테라폼
- 이펙티브 자바
- C++
- Kotlin
- 코테
- MSA
- Java
- JPA
- 프로그래머스
- Algorithm
- kotest
- 정규표현식
- 디자인 패턴
- kkoon9
- node.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |