https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 배열에 정수를 배치하고 값을 꺼낼 때 특정한 기준에 따라 꺼내야 하는 조건이 있는 문제이다. 조건은 다음과 같다. 입력으로 주어진 수를 배열에 배치한다. 단, 입력에서 0 이 주어졌을 때 1. 절댓값이 가장 작은 값을 우선적으로 꺼낸다. 2. 절댓값 크기가 같다면 그 중 가장 작은 수를 꺼낸다.(= 절댓값이 같은 수 중 음수) 배열된 요소들 사이에 원래 주어진 수의 크기가 아..
https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net https://seungboo.tistory.com/23 백준/24060번/알고리즘 수업 - 병합 정렬1 https://www.acmicpc.net/problem/24060 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN seungboo.tistory.com 24060 문제에서 활용했던 병합정렬을 다시 활용하..
https://www.acmicpc.net/problem/24060 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 병합 정렬을 구현하고 문제의 조건에 따라 임시배열 -> 원본 배열로 값을 저장할 때마다 count를 증가시키는 코드를 추가하면 해결된다. import java.io.*; import java.util.Scanner; import java.util.StringTokenizer; public class Main { static int[] arr; sta..
https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 퀵정렬에 대해 공부하던 중, 이 문제를 발견하여 퀵정렬을 활용해 문제를 풀어보았다. 퀵정렬에 대한 내용은 아래와 같다. 참고한 영상 퀵 정렬이란 pivot을 기준으로 pivot의 왼쪽에는 pivot보다 작은 값을, 오른쪽에는 큰 값을 위치시켜가면서 배열을 정렬하는 방법이다. 여러 설명들을 찾아봤는데 위의 영상이 이해하는데 가장 큰 도움이 되었다..
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net num의 범위 =1부터 n까지의 자연수 arr[i]를 스택에서 꺼내기 위해서는 스택에 num (arr[i]보다 작은 수)부터 arr[i]까지 오름차순으로 집어넣어야 함. 스택의 최상단이 arr[i]가 되면 stack에서 pop한다 (= 배열로 늘어놓는다). 다시 arr[i+1]을 스택에서 꺼내기 위해서는 arr[i+..
https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 슬라이딩 윈도우를 활용하는 문제이다. 문제에서 주어진 길이 S의 문자열을 P만큼 잘라서 주어진 조건( 각 문자 A, C, G, T의 최소 개수)를 만족하는지 판별하면 된다. S와 P의 범위가 최대 1,000,000만큼 주어졌기 때문에 P만큼 자른 문자열 전체를 매번 조건에 맞는지 검사하게 되면 시간초과가 발생한다. 잘라낸 문자열의 시작 인덱스와 종료 인덱스는 각각 0, P-..
- Total
- Today
- Yesterday
- 12891번
- 람다
- 크게 만들기
- 지능형 기차2
- 정렬
- aws
- 나무 재테크
- 알고리즘
- 11659
- dfs
- 유니온 파인드
- 24060
- appsync
- 17087
- 14719
- 탐색
- 3190번
- lambda
- 코딩
- 스택
- BFS
- 11050
- java
- 자바
- 백준
- 그리디
- SpringBoot
- 16235
- 유클리드 호제법
- 스프링부트
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |