일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스택
- 구현
- 자료 구조
- DB
- 그래프 이론
- springboot
- 그래프 탐색
- 재귀
- Vue
- 정수론
- 정보처리기사
- SWEA
- 브루트포스 알고리즘
- 깊이 우선 탐색
- 수학
- 배포
- MYSQL
- 프로그래머스
- 소수 판정
- n과 m
- 다이나믹 프로그래밍
- 문자열
- 백준
- 프로젝트
- Spring Security
- 알고리즘
- dfs
- JPA
- 너비 우선 탐색
- 백트래킹
- Today
- Total
목록백준 (55)
영원히 남는 기록, 재밌게 쓰자

문제풀이스택에는 연산자만 담고 피 연산자는 바로 출력 문자열에 담는다.'(' 괄호는 스택에 담는다.')' 괄호는 '(' 를 만날 때까지 pop한 연산자를 출력 문자열에 더한다.'*', '/', '+', '-' 연산자는 스택의 우선 순위가 더 높거나 같으면 스택의 연산자를 출력 문자열에 먼저 더해주고 현재 연산자는 스택에 다시 넣는다. (스택에 들어간 연산자가 우선순위가 같다면 더 우선적으로 빠짐)모든 연산을 다하면 스택에 남아 있는 연산자를 출력 문자열에 더해준다.정답 코드package com.baekjoon.data_structure.p1918;import java.util.*;public class Main { public static void main(String[] args) { ..

문제풀이문자열 길이가 1000000까지 되기 때문에 폭발 문자열이 없을 때까지 계속해서 반복하여 replaceAll이나 완전 탐색을 사용하면 시간 초과가 발생한다. 스택에 문자열의 문자를 담으면서 그때마다 폭발 문자열을 포함하는지 검사한다.이 때 스택의 길이가 폭발 문자열 보다 길거나 같아야 한다.폭발 문자열 길이만큼 반복하면서 stack.size - bombLen + j == bombStr.chatAt(j)인지 검사폭발 문자열과 일치하지 않으면 더이상 탐색을 진행하지 않고 다시 스택에 문자를 담는다.폭발 문자열과 일치하는 경우 폭발 문자열 길이 만큼 스택에서 pop 해준다.문자열 길이만큼 반복한다.스택이 비었으면 FRULA, 비어있지 않으면 스택의 값들을 출력한다.정답코드package com.baekj..

문제풀이union-find 알고리즘의 기본적인 문제여러 노드가 존재할 때 두 개의 노드를 선택해서 현재 두 노드가 같은 그래프에 속하는지 판별하는 알고리즘 해당 개념을 잘 모르면 어려울 수 있는 문제였다. 두 개의 연산으로 이루어진다.find: x가 어떤 집합에 포함되어 있는지 찾는 연산union: x와 y가 포함되어 있는 집합을 합치는 연산 모든 집합을 돌면서 탐색을 진행하려고 했는데 그렇게하면 시간 초과가 날게 뻔했다.. find를 할때에는 재귀함수를 통해 부모를 찾는 과정을 거친다.정답코드package com.baekjoon.data_structure.p1717;import java.io.*;import java.util.*;public class Main { static int n, m; ..

문제풀이뱀의 위치를 저장할 큐를 선언 뱀이 움직일 때 마다 뱀 위치 정보를 갱신 해주어야 한다.시간을 측정뱀의 다음 위치가 범위를 벗어나는지, 자기 자신과 부딫히는지 검사 (더 이상 게임을 진행할 수 없음).뱀의 다음 위치에 사과가 있을 때 칸의 사과를 먹어서 없애고, 꼬리는 움직이지 않음. 큐에 머리가 움직인 칸의 위치 정보를 넣어준다.뱀의 다음 위치에 사과가 없을 때 큐에 머리가 움직인 칸의 위치 정보를 넣고, 꼬리 위치 정보를 큐에서 뺀다.현재 진행중인 게임의 시간과 처음에 입력으로 받았던 게임 시간과 일치하면 방향을 바꿔준다.더이상 게임을 진행할 수 없을 때 까지 진행한다. 정답코드package com.baekjoon.samsung_sw_ps.p3190;import java.io.*;import ..