백준
백준 1427번 자바
문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 배열의 인덱스를 값으로 활용하는 방식을 잘 사용하지 못해 해당 부분에 주의를 기울여 보고자 한다. 2. 내가 작성한 코드는 정답이지만 최대값일 때 인덱스를 idx에 따로 저장을 해서 문제 해결을 했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main1427 { public static void main(String[] arg..
백준 1377번 자바
문제 https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 1. 문제 내용이 처음엔 잘 이해가 안됐다. 결론부터 말하자면 출력의 숫자가 뜻하는 것은 버블정렬이 완료됐을 때 총 몇번의 loop를 돌았는지다. 2. 버블정렬을 구현해 문제를 풀면 시간 초과가 발생한다. 시간복잡도가 O(N2)이기 때문이다. 그럼 다른 방식으로 풀어야 하는데 이 때 버블 정렬의 규칙을 이용하면 된다. 버블 정렬은 인접한 인덱스의 값끼리 대소 비교를 하..
백준 2164번 자바
문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 1. 큐의 개념을 이해하면 어렵지 않게 풀 수 있다. 내가 작성한 코드에선 change변수를 통해 반복마다 분기를 만들었는데 이 방법보단 어차피 한번씩 번갈아가며 버리거나 추가하기 때문에 그냥 두줄로 작성하는게 나을듯 하다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i..
백준 17298번 자바 ☆
문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stack; import java.util.StringTokenizer; public cl..

백준 1874번 자바
문제 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 import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.util.Stack; public class Main1874 { static int n; static int[] arr; static List res; ..
백준 11003번 자바 ☆
문제 https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Deque; import java.util.Li..