https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net 이 문제의 핵심은 재귀와 replaceAll 이다. Key [1] 숫자 리스트와 연산자 리스트를 분리하여 모든 경우의 수를 계산한다. [재귀를 사용] 근거는? 자연수 범위가 3이상 9이하이므로 완전 탐색이 가능하다. 연산자의 경우의 수를 먼저 구해줬다. private static void dfs(int count, int N, char[] operations) { if (count == N) { for (int i = 1; i
정규표현식을 공부하고 푼 문제이다. https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 다트 게임을 총 3번 진행하는데 각 게임의 점수를 계산하려고 정규표현식을 사용했다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스타상(*) , 아차상(#)이 존재하며 스타상(*) 당첨 시 해당 점수와 바로 전에 얻은 점수를 각 2배로 만든다. 아차상(..
정규표현식을 공부하고나서 푼 문제이다. https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. 4단계 new_id에서 마침표(.)가..
더 깔끔한 노션을 원한다면 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
- Total
- Today
- Yesterday
- kotest
- kkoon9
- AWS
- 이팩티브 자바
- 클린 코드
- programmers
- 코테
- BAEKJOON
- JPA
- 디자인패턴
- 프로그래머스
- Spring
- Olympiad
- Spring Boot
- 이펙티브 자바
- 객체지향
- Effective Java
- MSA
- 백준
- 알고리즘
- 클린 아키텍처
- 테라폼
- Kotlin
- 정규표현식
- BOJ
- Java
- node.js
- Algorithm
- C++
- 디자인 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |