# 01. 백준 입출력 문제 정리 | JAVA | BOJ
🤠 간단한 입출력 문제 모음으로 알고리즘 문제풀이(PS) 시작하기 (opens new window) 글에서 뽑아준 문제들로만 정리해봤다.
TIP
sc.next()
는 개행문제를 포함하지 않으며, 공백이 존재하는 경우 공백 이전의 문자열만 인식한다.sc.nextLine()
은 개행문제를 포함하여 인식하기 때문에, 개행문자가 인식되면 종료되며 한줄을 기준으로 인식한다.
즉, sc.nextLine()
이전에 sc.next()
를 사용하고, Enter를 입력하였을 경우,
sc.next()
가 개행문제를 인식하지 않고 넘어가게 되어, sc.nextLine()
이 개행문자를 인식하게 된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String next = sc.next();
String nextLine = sc.nextLine();
System.out.println("-----------------------------------");
System.out.println("next >>> [" + next + "]");
System.out.println("nextLine >>> [" + nextLine + "]");
System.out.println("-----------------close-------------");
sc.close();
}
}
Hello World // 입력 후, Enter
-----------------------------------
next >>> [Hello] // next() -> 공백 전 문자열만 인식
nextLine >>> [ World] // nextLine() -> 이전에 인식한 문자 + Enter인식
-----------------close-------------
더하여
sc.hasNext()
는 토큰이 있는지 확인하고 boolean을 리턴하며 공백은 무시한다.sc.hasNextLine()
은 행이 있는지 확인하고 boolean을 리턴하며, 줄바뀜이 있으면 true를 리턴한다.
# 2557. Hello World (opens new window)
🔒 문제
Hello World!
를 출력하시오.
📢 입력
- 없음
📢 출력
Hello Wolrd!
를 출력하시오.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
Hello World! |
🔑 풀이
public class Main {
public static void main(String[] args) {
System.out.print("Hello World!");
}
}
# 1000. A+B (opens new window)
🔒 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
📢 출력
- 첫째 줄에 A+B를 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
1 2 | 3 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a+b);
}
}
# 2558. A+B - 2 (opens new window)
🔒 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
📢 출력
- 첫째 줄에 A+B를 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
1 2 | 3 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a+b);
}
}
# 10950. A+B - 3 (opens new window)
🔒 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
📢 입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
📢 출력
- 각 테스트 케이스마다 A+B를 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 1 1 2 3 3 4 9 8 5 2 | 2 5 7 17 7 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt(); // 갯수
Integer[] answer = new Integer[size];
for (int i=0; i<size; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
answer[i] = a+b;
}
sc.close();
for (Integer integer : answer) {
System.out.println(integer);
}
}
}
# 10951. A+B - 4 (opens new window)
🔒 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
📢 입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
📢 출력
- 각 테스트 케이스마다 A+B를 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
1 1 2 3 3 4 9 8 5 2 | 2 5 7 17 7 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a+b);
}
sc.close();
}
}
# 10952. A+B - 5 (opens new window)
🔒 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
📢 입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
입력의 마지막에는 0 두 개가 들어온다.
📢 출력
- 각 테스트 케이스마다 A+B를 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
1 1 2 3 3 4 9 8 5 2 0 0 | 2 5 7 17 7 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
int a = sc.nextInt();
int b = sc.nextInt();
if (a==0 && b==0) {
break;
}
System.out.println(a+b);
}
sc.close();
}
}
# 10953. A+B - 6 (opens new window)
🔒 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
📢 입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. A와 B는 콤마(,)로 구분되어 있다. (0 < A, B < 10)
📢 출력
- 각 테스트 케이스마다 A+B를 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 1,1 2,3 3,4 9,8 5,2 | 2 5 7 17 7 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
for (int i=0; i<size; i++) {
String[] input = sc.next().split(",");
System.out.println(Integer.parseInt(input[0])+Integer.parseInt(input[1]));
}
sc.close();
}
}
# 11021. A+B - 7 (opens new window)
🔒 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
📢 입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
📢 출력
- 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 1,1 2,3 3,4 9,8 5,2 | Case #1: 2 Case #2: 5 Case #3: 7 Case #4: 17 Case #5: 7 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
for (int i=0; i<size; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println("Case #" + (i+1) + ": " + (a+b));
}
sc.close();
}
}
# 11022. A+B - 8 (opens new window)
🔒 문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
📢 입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
📢 출력
- 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 1,1 2,3 3,4 9,8 5,2 | Case #1: 1 + 1 = 2 Case #2: 2 + 3 = 5 Case #3: 3 + 4 = 7 Case #4: 9 + 8 = 17 Case #5: 5 + 2 = 7 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
for (int i=0; i<size; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println("Case #" + (i+1) + ": " + a + " + " + b + " = " + (a+b));
}
sc.close();
}
}
# 11718. 그대로 출력하기 (opens new window)
🔒 문제
입력 받은 대로 출력하는 프로그램을 작성하시오.
📢 입력
- 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.
📢 출력
- 입력받은 그대로 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
Hello Baekjoon Online Judge | Hello Baekjoon Online Judge |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
sc.close();
}
}
# 11719. 그대로 출력하기 - 2 (opens new window)
🔒 문제
입력 받은 대로 출력하는 프로그램을 작성하시오.
📢 입력
- 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다.
📢 출력
- 입력받은 그대로 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
Hello Baekjoon Online Judge | Hello Baekjoon Online Judge |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
sc.close();
}
}
# 11720. 숫자의 합 (opens new window)
🔒 문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
📢 출력
- 입력으로 주어진 숫자 N개의 합을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
1 1 | 1 |
예제 입력 2 | 예제 출력 2 |
---|---|
5 54321 | 15 |
예제 입력 3 | 예제 출력 3 |
---|---|
25 7000000000000000000000000 | 7 |
예제 입력 4 | 예제 출력 4 |
---|---|
11 10987654321 | 46 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
String number = sc.next();
String[] answerList = number.split("");
int answer = 0;
for (int i=0; i<size; i++) {
answer += Integer.parseInt(answerList[i]);
}
System.out.println(answer);
}
}
# 11721. 열 개씩 끊어 출력하기 (opens new window)
🔒 문제
알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.
한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.
📢 출력
- 입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
BaekjoonOnlineJudge | BaekjoonOn lineJudge |
예제 입력 2 | 예제 출력 2 |
---|---|
OneTwoThreeFourFiveSixSevenEightNineTen | OneTwoThre eFourFiveS ixSevenEig htNineTen |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String test = sc.next();
int startIdx = 0;
int endIdx = 10;
sc.close();
while (endIdx < test.length()) {
System.out.println(test.substring(startIdx, endIdx));
startIdx += 10;
endIdx += 10;
}
System.out.println(test.substring(startIdx));
}
}
# 2741. N 찍기 (opens new window)
🔒 문제
자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄 까지 차례대로 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | 1 2 3 4 5 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
sc.close();
for (int i=1; i<=size; i++) {
System.out.println(i);
}
}
}
# 2742. 기찍 N (opens new window)
🔒 문제
자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄 까지 차례대로 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | 5 4 3 2 1 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
sc.close();
while(size>0) {
System.out.println(size--);
}
}
}
# 2739. 구구단 (opens new window)
🔒 문제
N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.
📢 입력
- 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.
📢 출력
- 출력형식과 같게 N*1부터 N*9까지 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
2 | 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
sc.close();
for (int i=1; i<=9; i++) {
System.out.println(a + " * " + i + " = " + (a*i));
}
}
}
# 1924. 2007년 (opens new window)
🔒 문제
오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.
📢 출력
- 첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
1 1 | MON |
예제 입력 2 | 예제 출력 2 |
---|---|
3 14 | WED |
예제 입력 3 | 예제 출력 3 |
---|---|
9 2 | SUN |
예제 입력 4 | 예제 출력 4 |
---|---|
12 25 | TUE |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 달/월 입력받기
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
sc.close();
int[] month = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
String[] day = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
// 입력한 달 전까지의 일 수 더하기
int totalDay = 0;
for (int i=0; i<a; i++) {
totalDay += month[i];
}
// 입력한 일 수 더하기
totalDay += b;
System.out.println(day[totalDay%7]);
}
}
# 8393. 합 (opens new window)
🔒 문제
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.
📢 출력
- 1부터 n까지 합을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
3 | 6 |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
sc.close();
int total =0;
for (int i=1; i<=a; i++) {
total += i;
}
System.out.println(total);
}
}
# 10818. 최소, 최대 (opens new window)
🔒 문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
📢 입력
- 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
📢 출력
- 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 20 10 35 30 7 | 7 35 |
🔑 풀이
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 입력 갯수 정하고, 입력 받기
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
int[] input = new int[size];
for (int i=0; i<size; i++) {
input[i] = sc.nextInt();
}
sc.close();
// 정렬 및 출력
Arrays.sort(input);
System.out.println(input[0] + " " + input[size-1]);
}
}
# 2438. 별 찍기 - 1 (opens new window)
🔒 문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | * ** *** **** ***** |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
sc.close();
for (int i=1; i<=size; i++) {
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 2439. 별 찍기 - 2 (opens new window)
🔒 문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | * ** *** **** ***** |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
sc.close();
for (int i=1; i<=size; i++) {
for (int j=1; j<=size-i; j++) {
System.out.print(" ");
}
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 2440. 별 찍기 - 3 (opens new window)
🔒 문제
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | ***** **** *** ** * |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
sc.close();
for (int i=size; i>0; i--) {
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 2441. 별 찍기 - 4 (opens new window)
🔒 문제
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | ***** **** *** ** * |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int size = sc.nextInt();
sc.close();
for (int i=size; i>0; i--) {
for (int j=size; j>i; j--) {
System.out.print(" ");
}
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 2442. 별 찍기 - 5 (opens new window)
🔒 문제
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제
별은 가운데를 기준으로 대칭이어야 한다.
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | * *** ***** ******* ********* |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
for (int i=1;i<=n;i++) {
for(int j=i;j<n;j++) {
System.out.print(" ");
}
for (int j=0; j< i*2-1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 2445. 별 찍기 - 8 (opens new window)
🔒 문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | * * ** ** *** *** **** **** ********** **** **** *** *** ** ** * * |
🔑 풀이
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
for (int i=1;i<=n;i++) {
for (int j=1; j<=i; j++) {
System.out.print("*");
}
for (int j=1; j<=n-i; j++) {
System.out.print(" ");
}
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i=1; i<=n-1; i++) {
for (int j=1; j<=n-i; j++) {
System.out.print("*");
}
for (int j=1; j<=i; j++) {
System.out.print(" ");
}
for (int j=1; j<=n-i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 2522. 별 찍기 - 12 (opens new window)
🔒 문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | * ** *** ** * |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
for (int i=1; i<=n; i++) {
for (int j=1; j<=n-i; j++) {
System.out.print(" ");
}
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i=1; i<=n-1; i++) {
for (int j=1; j<=i; j++) {
System.out.print(" ");
}
for (int j=1; j<=n-i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 2446. 별 찍기 - 9 (opens new window)
🔒 문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
예제 입력 1 | 예제 출력 1 |
---|---|
5 | ********* ******* ***** *** * *** ***** ******* ********* |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
for (int i=1; i<=n; i++) {
for (int j=1; j<=i; j++) {
if (j != 1) {
System.out.print(" ");
}
}
for (int j=2*i-1; j<=2*n-1; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i=1; i<=n-1; i++) {
for (int j=1; j<=n-i; j++) {
if (j != 1) {
System.out.print(" ");
}
}
for (int j=1; j<=2*i+1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 10991. 별 찍기 - 16 (opens new window)
🔒 문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
*
예제 입력 1 | 예제 출력 1 |
---|---|
1 | * |
예제 입력 2 | 예제 출력 2 |
---|---|
2 | * * * |
예제 입력 3 | 예제 출력 3 |
---|---|
3 | * * * * * * |
예제 입력 4 | 예제 출력 4 |
---|---|
4 | * * * * * * * * * * |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
for (int i=0; i<n; i++) {
for (int j=i; j<n-1; j++) {
System.out.print(" ");
}
for (int j=0; j<=i; j++) {
System.out.print("*");
System.out.print(" ");
}
System.out.println();
}
}
}
# 10992. 별 찍기 - 17 (opens new window)
🔒 문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
📢 입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
📢 출력
- 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
📢 입출력 예
*
예제 입력 1 | 예제 출력 1 |
---|---|
1 | * |
예제 입력 2 | 예제 출력 2 |
---|---|
2 | * *** |
예제 입력 3 | 예제 출력 3 |
---|---|
3 | * * * ***** |
예제 입력 4 | 예제 출력 4 |
---|---|
4 | * * * * * ******* |
🔑 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n - 1; j++) {
System.out.print(" ");
}
if (i == n) {
for (int j = 1; j <= 2 * n - 1; j++) {
System.out.print("*");
}
} else {
for (int j = 1; j < 2 * i; j++) {
if (j == 1 || j == 2 * i - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
}
System.out.println();
}
}
}