문제 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 블록의 높이를 입력 받을 때마다 스택을 활용해 처리해보려는 생각을 했다. 빗물이 고이기 위해서는 블럭이 열리는 블럭(시작)과 닫히는 블럭(끝)이 있어야 하므로 처음 0이 아닌 블럭이 나오면 그 높이를 기준 int std로 놓고, 기준보다 작은 블럭이 오면 스택에 쌓는 식으로 로직을 구성해보았다. 그러다가 기준보다 큰 블럭이 나오면 그 블럭이 웅덩이를 완성시키는 끝 블럭이므로..
문제 https://www.acmicpc.net/problem/3015 3015번: 오아시스 재결합 첫째 줄에 줄에서 기다리고 있는 사람의 수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에는 각 사람의 키가 나노미터 단위로 주어진다. 모든 사람의 키는 231 나노미터 보다 작다. 사람 www.acmicpc.net 사람들이 줄을 설 때, 두 사람이 서로 볼 수 있는 쌍의 수를 구하는 문제이다. 줄을 설 때, 뒷 사람이 앞 사람보다 키가 크다면, 앞 사람은 뒤에 어떤 사람이 오더라도 그 사람을 볼 수 없다. (문제의 조건 : 두 사람 사이에 A 또는 B보다 키가 큰 사람이 없어야 한다.) 따라서 뒤에 나보다 큰 사람이 들어오면 나는 더 이상 줄에 서 있을 필요가 없으니 줄에서 퇴장..
문제 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 주어진 명령어들을 살펴보면 커서의 위치가 중요하다는 것을 알 수 있다. 커서의 위치에 따라 문자를 어디에 추가하거나, 어떤 문자를 삭제할지 결정되기 때문이다. dmih라는 문자열이 주어졌을 때 커서의 위치를 '로 표현하면, 처음에는 문제의 조건에 따라 가장 우측에 위치한다. d m i h ' 만약 명령어 L에 따라 커서를 왼쪽으로 옮긴 뒤 명령어 P x로 x를 입력하면 다음과 같다. L: d ..
문제 https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net N자리 숫자 중 숫자 K개를 지워서 가장 큰 수를 만드는 문제. N-K자리의 가장 큰 수를 만들어야 하기 때문에 두 가지를 생각해야 한다. 1. 앞자리 수일수록 큰 수가 들어가야 한다. 2. 주어진 숫자들을 맘대로 재배치 하는 것이 아니라 지우는 것이므로 숫자의 순서는 지켜야 한다. 배열과 스택을 활용하면 위의 두 가지를 만족할 수 있다. 스택에 가장 아래에 있는 수가 가장 큰 자리의 수라고 생각하면 간단하다. 1. 먼저 N자리 숫자를 받아 배열을 만든다. 2. 스택이..
문제 https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; class Zero{ int x; int y; Zero(int x, int y){ this.x = x; this.y ..
- Total
- Today
- Yesterday
- 12891번
- SpringBoot
- aws
- dfs
- BFS
- 14719
- 3190번
- lambda
- 나무 재테크
- 크게 만들기
- 11659
- appsync
- 17087
- 11050
- 유클리드 호제법
- 람다
- 스프링부트
- 알고리즘
- 코딩
- 16235
- 정렬
- 탐색
- 24060
- 그리디
- 백준
- 지능형 기차2
- 스택
- java
- 자바
- 유니온 파인드
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |