본문 바로가기

자바191

[백준] 자바 11727 2xn 타일링 2 문제 2 ×n 직사각형을 1 × 2, 2 ×1과 2 × 2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한 가지 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 테스트 케이스 입력 1 501 출력 1 4172 입력 2 1 출력 2 1 입력 3 1000 출력 3 7326 접근 코드 자체는 간단하지만 dp문제이므로 규칙 찾는 게 핵심인 문제인 듯합니다. 1.2*n 식에 들어갈 n을 입력받습니다. 일단 n이 몇이든간에, 시작은 그림과 같이 3가지 경우로 블록은 쌓이면서 시작합니다.(n이 1일 때만 제외하고) n이 1일때랑, 2일 때의 개수를.. 2021. 9. 21.
[백준] 자바 2164 카드2 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 옮기면 24가 된다. 마지막으로 2를 버리고 나면, 남는 카드는 4가 된다. N이 주어졌을 때, 제일 마지막에 남게 되는 카드를 구하는 프로그.. 2021. 9. 20.
[백준] 자바 8979 올림픽 문제 올림픽은 참가에 의의가 있기에 공식적으로는 국가 간 순위를 정하지 않는다. 그러나, 많은 사람들이 자신의 국가가 얼마나 잘하는지에 관심이 많기 때문에 비공식적으로는 국가 간 순위를 정하고 있다. 두 나라가 각각 얻은 금, 은, 동메달 수가 주어지면, 보통 다음 규칙을 따라 어느 나라가 더 잘했는지 결정한다. 금메달 수가 더 많은 나라 금메달 수가 같으면, 은메달 수가 더 많은 나라 금, 은메달 수가 모두 같으면, 동메달 수가 더 많은 나라 각 국가는 1부터 N 사이의 정수로 표현된다. 한 국가의 등수는 (자신보다 더 잘한 나라 수) + 1로 정의된다. 만약 두 나라가 금, 은, 동메달 수가 모두 같다면 두 나라의 등수는 같다. 예를 들어, 1번 국가가 금메달 1개, 은메달 1개를 얻었고, 2번 국가.. 2021. 9. 17.
[백준] 자바 1026 보물 문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A [0] ×B [0] +... + A [N-1] ×B [N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력 첫째 줄에 S의 최솟값을 출력한다. 테.. 2021. 9. 16.
[백준] 자바 11653 소인수분해 문제 정수 N이 주어졌을 때, 소인수 분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 테스트 케이스 입력 1 1000000 출력 1 2 2 2 2 2 2 5 5 5 5 5 5 입력 2 7 출력 2 7 입력 3 5000 출력 3 2 2 2 5 5 5 5 접근 1.수를 입력받습니다. 2. 순서대로 소인수 분해한 결과를 출력해줍니다. 하나의 증가하는 변수를 지정하여 반복문을 돌면서 지정한 변수로 나눠 떨어지는지 검사하면서 입력받은 값이 1이 될 때까지 반복합니다. 코드 import java.awt.desktop.SystemEventListen.. 2021. 9. 15.
[백준] 자바 10867 중복 빼고 정렬하기 문제 N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다. 입력 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 출력 첫째 줄에 수를 오름차순으로 정렬한 결과를 출력한다. 이때, 같은 수는 한 번만 출력한다. 테스트 케이스 입력 1 10 1 4 2 3 1 4 2 3 1 2 출력 1 1 2 3 4 입력 2 10 1 1 1 1 1 1 1 1 1 1 출력 2 1 입력 3 5 -1323 123 5 123 -4 출력 3 -1323 -4 5 123 접근 1. 숫자 하나를 입력받습니다. 2. 해당 숫자만큼 숫자를 입력받습니다. 2에서 받은 숫자들.. 2021. 9. 14.
반응형