본문 바로가기

분류 전체보기167

[백준] 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.