본문 바로가기

BaekJoon125

[백준] 10814번 : 나이순 정렬(JAVA) https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 12단계 정렬의 카테고리에 포함되어 있는 문제이다. 입력은 회원의 수가 입력되고 회원의 수 만큼 회원의 나이와 이름이 순서대로 입력된다. 입력된 값들을 나이 순서대로 정렬하는데, 나이가 같으면 먼저 입력받은 순서대로 정렬을 해야한다. 정렬을 해도 입력된 순서가 바뀌지 않은 정렬을 Stable sort라고 하며 대표적.. 2019. 11. 21.
[백준] 11653번 : 소인수분해(JAVA) https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. 정수 N이 주어졌을 때, 각 줄마다 소인수분해 과정을 출력하는 문제이다. 먼저 가장 작은 수인 2부터 소인수 분해를 시작하고 나누어지지 않는다면 1씩 증가시켜 나누는 방법을 선택하였다. import java.util.Scanner; public class Question_11653 { public static void main(String[] args) { Scanner sc = new S.. 2019. 11. 20.
[백준] 1037번 : 약수(JAVA) https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. N이라는 숫자의 약수가 있을 때, 입력으로 첫번 째 줄에 1과 N을 제외한 N의 약수의 개수가 주어지고 둘 째 줄에는 그 약수들이 입력으로 들어온다. 나는 이 입력으로 들어온 숫자들의 최댓값과 최솟값을 곱하면 N이 나온다는 방법으로 문제를 해결하였다. .. 2019. 11. 20.
[백준] 5086번 : 배수와 약수(JAVA) https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 문제 4 × 3 = 12이다. 이 식을 통해 다음과 같은 사실을 알 수 있다. 3은 12의 약수이고, 12는 3의 배수이다. 4도 12의 약수이고, 12는 4의 배수이다. 두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오. 첫 번째 숫자가 두 번째 숫자의 약수이다. 첫 번째 숫자가 두 번째 숫자의 배수이다. 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다. 입력 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스 www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. 간만.. 2019. 11. 18.
[백준] 11650번 : 좌표 정렬하기(JAVA) 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 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 12단계 정렬의 카테고리에 포함되어 있는 문제이다. 시간제한은 1초인데 좌표의 개수는 최대 10만개이니 시간복잡도가 O(NlogN)인 정렬방법으로 풀어야한다. 나는 자바 라이브러리에 포함된 정렬이 아닌 따로 합병정렬 클래스를 선언하여 만들었다. 4번의 도전끝에 성공하였는.. 2019. 11. 18.
[백준] 10989번 : 수 정렬하기 3(JAVA) https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 위의 문제는 Baekjoon Online Judge의 단계별로 풀어보기 중 12단계 정렬의 카테고리에 포함되어 있는 문제이다. 카운팅정렬(계수 정렬)을 이용하여 풀어야 하는 문제이며 수의 범위가 작을 때 더욱 빠르게 정렬할 수 있는 방법이 계수 정렬이다. 처음에는 입력을 Scanner로 썼을 때는 시간초과가 났었다. 그래서 더 빠르게 입력하고 출력하는 방법인 Buffer방법을 쓰니 통과가 되었다. 알고리즘은 나중에.. 2019. 11. 17.
[백준] 2164번 : 카드2(JAVA) https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리 www.acmicpc.net 위의 문제는 Baekjoon Online Judge의 단계별로 풀어보기 중 18단계 큐, 덱의 카테고리에 포함되어 있는 문제이다. 큐의 시.. 2019. 11. 17.
[백준] 4949번 : 균형잡힌 세상(JAVA) https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이룰 수 있다. 모든 왼쪽 대괄호("[")는 오른쪽 대 www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 17단계 스택의 카테고리에 포함되어 있는 문제이다. 나는.. 2019. 11. 15.