본문 바로가기

카테고리 없음

[백준 BAEKJOON / 자바 JAVA] 2438번 : 별 찍기 - 1

Q) BAEKJOON / JAVA / 2438 : 별 찍기 - 1

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

 

2438번: 별 찍기 - 1

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

www.acmicpc.net


 ※ 중첩 반복문

 - 반복문 내 반복문 사용을 뜻함
 - 이 문제의 경우 
   1) 첫번째 반복문에서 변수 x는 줄 수의 반복 횟수
   2) 두번째 반복문에서 변수 y는 줄 내부 "*"의 반복 횟수

A)

 - [1] Scanner

import java.util.Scanner;

public class Main{
	
	public static void main(String args[]) {
		
		// Scanner 선언
		Scanner sc = new Scanner(System.in);
		
		// nextInt()활용 정수형 읽어오기
		// 정수형 변수 N에 대입
		int N = sc.nextInt();
		
		// for 반복문
		// 1 ~ N까지 반복
		for(int x = 1; x <= N; x++) {
			// for 반복문
			// 1 ~ x까지 반복
			for(int y = 1; y <= x; y++) {
				//출력
				System.out.print("*");
			}
			// 줄바꿈
			System.out.print("\n");
		}
		
		// Scanner 종료
		sc.close();
		
	}
	
}

 

 - [2] BufferedReader + BufferedWriter

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 선언
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		// BufferedWriter 선언
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		// readLine()활용 행 읽어오기
		// parseInt()활용 정수형으로 변환
		// 정수형 변수 N에 대입
		int N = Integer.parseInt(br.readLine());
		
		// for 반복문
		// 1 ~ N 까지 반복
		for(int x = 1; x <= N; x++) {
			// for 반복문
			// 1 ~ x 까지 반복
			for(int y = 1; y <= x; y++) {
				
				// 출력
				bw.write("*");
				
			}
			
			// 줄바꿈
			bw.newLine();
			
		}
		
		// BufferedReader 종료
		br.close();
		
		// BufferedWriter 비우기
		bw.flush();
		// BufferedWriter 종료
		bw.close();
		
	}
	
}