# 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();
}
}
}