Java-Study
Java Study : 8주차 - 백준 문제풀이
코딩갱
2022. 12. 23. 20:35
https://www.acmicpc.net/problem/2775
2775번: 부녀회장이 될테야
첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다
www.acmicpc.net
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[][] apt = new int[15][15];
for(int i = 0; i < 15; i++) {
apt[i][1] = 1;
apt[0][i] = i;
}
for(int i = 1; i < 15; i ++) {
for(int j = 2; j < 15; j++) {
apt[i][j] = apt[i][j - 1] + apt[i - 1][j];
}
}
int a = in.nextInt();
for(int i = 0; i < a; i++) {
int k = in.nextInt();
int n = in.nextInt();
System.out.println(apt[k][n]);
}
}
}
https://www.acmicpc.net/problem/1193
1193번: 분수찾기
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
www.acmicpc.net
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int block_cnt = 1; //대각선의 블록 갯수
int block_sum = 0; //해당 대각선 직전 대각선까지의 블록 누적 합
while(true) {
if(a <= block_cnt + block_sum) {
if(block_cnt % 2 == 1 ) { //대각선의 갯수가 홀수일 경우
//분자가 큰 수부터 시작 -> 대각선의 갯수가 3면 3, 2, 1 순서
//분자는 대각선의 블록 갯수 - (a번째 - 직전 대각선까지의 블럭 갯수의 합 - 1)
//분모는 a번째 - 직전 대각선까지의 블록 갯수의 합
int molecule = block_cnt - (a - block_sum - 1);
int denominator = a - block_sum;
System.out.println(molecule + "/" + denominator);
break;
}
else { //대각선의 갯수가 짝수일 경우
//홀수일 때와 반대로
int denominator = block_cnt - (a - block_sum - 1);
int molecule = a - block_sum;
System.out.println(molecule + "/" + denominator);
break;
}
}
else {
block_sum += block_cnt;
block_cnt++;
}
}
}
}
https://www.acmicpc.net/problem/10250
10250번: ACM 호텔
프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수
www.acmicpc.net
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i = 0; i< T; i++) {
int H = sc.nextInt();
int W = sc.nextInt();
int N = sc.nextInt();
int x = (N/H) + 1;
int y = N%H;
if(N%H==0) {
x = N/H;
y = H;
}
System.out.println(y*100+x);
}
}
}