문제 풀이

[백준] 2438번: 별 찍기 - 1 - JAVA (자바)

auyeol 2023. 1. 27. 22:03
728x90

 

 

문제

https://www.acmicpc.net/problem/2438

 

2438번: 별 찍기 - 1

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

www.acmicpc.net

 

별을 찍을 횟수 n을 입력받은 뒤, for문을 사용하여 *을 하나씩 증가하면서 출력하면 되는 문제이다.

 

 

------------------------------------------------------------------------------------------------------------------

 

풀이

 

파이썬을 사용하면 print(i * "*") 로 한줄만에 끝나지만 JAVA는 좀 더 길다.

 

(1) n을 입력받는다.

 

(2) n번을 반복하기 위해 for문을 선언한다.

 

(3) for문을 하나 더 만들어서 i만큼 별을 찍게 만든다.

          ex) 1번째 반복일 때 i = 1 ,,, > *

                2번째 반복일 때 i = 2 ,,, > **

                3번째 반복일 때 i = 3 ,,, > ***

                                ...

                                ...

                                ...

 

(4) 별을 찍은 다음 개행을 위해 System.out.println을 사용한다.

 

 

 

(1) Scanner 사용 

 

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		
		for(int i=1;i<=n;i++) 
		{
			for(int j=1;j<=i;j++) 
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}

}

 

 

------------------------------------------------------------------------------------------------------------------

 

 

(2) BufferdReader 사용 

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
	
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int n = Integer.parseInt(br.readLine());
		
		for(int i = 1;i<=n;i++) 
		{
			for(int j = 1;j<=i;j++) 
			{
				bw.write("*");
			}
			bw.write("\n");
		}
		br.close();
		bw.flush();
		bw.close();
		
	}
}

 

 

------------------------------------------------------------------------------------------------------------------

 

번외

 

파이썬은 3줄이면 끝난다.

728x90