1291 : 구구단
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int i, j;
int n, m;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
while (true) {
if (n < 2 || n > 9 || m < 2 || m > 9) {
System.out.printf("INPUT ERROR!");
System.out.printf("\n");
st = new StringTokenizer(in.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
}
else break;
}
if (m > n) {
for (i = 1; i <= 9; i++) {
for (j = n; j <= m; j++) {
System.out.printf("%d * %d = %2d ", j, i, i*j);
}
System.out.printf("\n");
}
}
else {
for (i = 1; i <= 9; i++) {
for (j = n; j >= m; j--) {
System.out.printf("%d * %d = %2d ", j, i, i*j);
}
System.out.printf("\n");
}
}
}
}
범위에 맞춰서 출력하면 되는 문제.
1341 : 구구단2
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int a, b;
int i, j;
int cnt=0;
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
if (b > a) {
for (i = a; i <= b; i++) {
cnt=1;
for (j = 1; j <= 9; j++) {
bw.write(String.format("%d * %d = %2d ", i, j, i*j));
bw.flush();
if (cnt % 3==0) {
System.out.printf("\n");
}
cnt++;
}
System.out.printf("\n");
}
}
else {
for (i = a; i >= b; i--) {
cnt=1;
for (j = 1; j <= 9; j++) {
bw.write(String.format("%d * %d = %2d ", i, j, i*j));
bw.flush();
if (cnt % 3==0) {
System.out.printf("\n");
}
cnt++;
}
System.out.printf("\n");
}
}
}
}
한줄에 3개씩 범위에 맞춰서 출력하면 되는 문제.
1303 : 숫자사각형1
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n, m;
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
int cnt = 1;
int i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= m; j++) {
bw.write(String.format("%d ", cnt++));
bw.flush();
}
System.out.printf("\n");
}
}
}
for문으로 범위에 맞춰서 숫자를 증가하면서 출력하면 되는 간단한 문제.
1856 : 숫자사각형2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
int a, b;
int i, j;
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
int arr[][] = new int [a + 1][b + 1];
int num = 1;
for (i = 1; i <= a; i++) {//가로
if (i % 2 != 0) { //홀수?
for (j = 1; j <= b; j++) {//세로
arr[i][j] = num++;
}
}
else {
for (j = b; j >= 1; j--) {//세로
arr[i][j] = num++;
}
}
}
for (i = 1; i <= a; i++) {
for (j = 1; j <= b; j++) {
System.out.printf("%d ", arr[i][j]);
}
System.out.printf("\n");
}
}
}
열이 홀수인지 짝수인지 판단해 왼→오로 출력할것인지, 오→왼으로 출력할것인지 판단해 출력하는 문제.
1304 : 숫자사각형3
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n;
n = Integer.parseInt(st.nextToken());
int arr[][] = new int [n + 1][n + 1];
int i, j;
int num = 1;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
arr[j][i] = num++;
}
}
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
bw.write(String.format("%d ", arr[i][j]));
bw.flush();
}
System.out.printf("\n");
}
}
}
숫자를 증가시키면서 왼쪽 상단부터 세로로 출력을 하는 문제.
2046 : 숫자사각형4
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
BufferedWriter bw = new BufferedWriter((new OutputStreamWriter(System.out)));
int a, b;
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
int i, j;
int arr[][] = new int [101][101];
int num = 1;
if (b == 1) {
for (i = 1; i <= a; i++) {
for (j = 1; j <= a; j++) {
bw.write(String.format("%d ", i));
bw.flush();
}
System.out.printf("\n");
}
}
else if (b == 2) {
for (i = 1; i <= a; i++) {
if (i % 2 != 0) {
for (j = 1; j <= a; j++) {
arr[i][j] = num++;
}
num = 1;
}
else {
for (j = a; j >= 1; j--) {
arr[i][j] = num++;
}
num = 1;
}
}
for (i = 1; i <= a; i++) {
for (j = 1; j <= a; j++) {
bw.write(String.format("%d ", arr[i][j]));
bw.flush();
}
System.out.printf("\n");
}
}
else if (b == 3) {
for (i = 1; i <= a; i++) {
for (j = 1; j <= a; j++) {
bw.write(String.format("%d ", i*j));
bw.flush();
}
System.out.printf("\n");
}
}
}
}
크기와 종류를 입력받아 종류를 먼저 판단한 뒤, 종류와 길이에 맞게 출력하는 문제.
1307 : 문자사각형1
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(st.nextToken());
int i, j;
char arr[][] = new char [101][101];
int num = 1;
char alpha = 'A';
for (i = n; i >= 1; i--) {
for (j = n; j >= 1; j--) {
if (alpha > 'Z') {
alpha = 'A';
}
arr[j][i] = alpha++;
}
}
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
bw.write(String.format("%c ", arr[i][j]));
bw.flush();
}
System.out.printf("\n");
}
}
}
알파벳 순서대로 크기에 맞춰서 오른쪽 하단부터 세로로 출력을 하는 문제.
1314 : 문자사각형2
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n;
int i, j;
char arr[][] = new char [101][101];
char alpha = 'A';
n = Integer.parseInt(st.nextToken());
for (i = 1; i <= n; i++) {
if (i % 2 != 0) {
for (j = 1; j <= n; j++) {
if (alpha > 'Z') {
alpha = 'A';
}
arr[j][i] = alpha++;
}
}
else {
for (j = n; j >= 1; j--) {
if (alpha > 'Z') {
alpha = 'A';
}
arr[j][i] = alpha++;
}
}
}
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
bw.write(String.format("%c ", arr[i][j]));
//bw.write(String.format("%c ", arr[i][j]));
//bw.flush();
bw.flush();
}
System.out.printf("\n");
}
}
}
알파벳 순서대로 크기에 맞춰서 왼쪽 상단부터 지그재그로 출력을 하는 문제.
1338 : 문자삼각형1
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int i, j;
char alpha = 'A';
int n;
char arr[][] = new char[101][101];
n = Integer.parseInt(st.nextToken());
for (i = 1; i <= n; i++) {
for (j = 0; j <= n - i; j++) {
if (alpha > 'Z') alpha = 'A';
arr[i + j][i] = alpha++;
}
}
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
bw.write(" ");
bw.flush();
//System.out.printf(" ");
}
for (j = 1; j <= i; j++) {
bw.write(String.format("%c ", arr[i][j]));
bw.flush();
//System.out.printf("%c ", arr[i][j]);
}
System.out.printf("\n");
}
}
}
크기에 맞춰서 공백을 먼저 출력한 뒤, 알파벳 순서대로 크기에 맞춰서 삼각형 모양으로 출력하는 문제
1339 : 문자삼각형2
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n;
int i, j;
char arr[][] = new char[101][101];
char alpha = 'A';
n = Integer.parseInt(st.nextToken());
if (n < 1 || n > 100 || n%2==0) {
bw.write(("INPUT ERROR"));
bw.flush();
return;
}
for (i = 1; i <= n / 2 + 1; i++) {
for (j = 1; j <= i * 2 - 1; j++) {
if (alpha > 'Z') {
alpha = 'A';
}
//System.out.printf("[%d,%d]",n / 2 + 1-i+j-1,n / 2 + 1-i);
arr[n / 2 + 1-i+j-1][n / 2 + 1-i] = alpha++;
}
}
for (i = 0; i <= n; i++) {
for (j = 0; j <= n ; j++) {
if(arr[i][j]!=0) {
bw.write(String.format("%c ", arr[i][j]));
//bw.flush();
}
}
bw.flush();
System.out.printf("\n");
}
}
}
알파벳 순서대로 크기에 맞춰서 가운데부터 부채꼴 모양으로 출력하는 문제
'정올문제소스코드' 카테고리의 다른 글
Jungol_Beginner_수학1 (0) | 2023.02.07 |
---|---|
2567 : 싸이클 (0) | 2022.03.18 |
1490 : 다음 조합(next combination) (0) | 2022.03.18 |
2817 : 로또(Lotto) (0) | 2022.03.18 |
1021 : 장난감조립 (0) | 2021.12.05 |