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

문제풀이 안의 단어는 그대로 출력된다.단어를 뒤집어도 되는지 검사하는 변수 reverse를 선언' '(공백)을 만나면 스택에 있는 문자들을 모두 뽑아 출력 문자열에 더하고 공백도 더해준다.''>'를 만나면 reverse = true로 변경, 출력 문자열에 '>'추가나머지 문자들은 reverse = true인 경우 스택에 push, false인 경우 출력 문자열에 바로 더하기정답 코드package com.baekjoon.data_structure.p17413;import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Stack ..

문제풀이스택에는 연산자만 담고 피 연산자는 바로 출력 문자열에 담는다.'(' 괄호는 스택에 담는다.')' 괄호는 '(' 를 만날 때까지 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; ..