공부하기/백준

[Java] 백준 풀기 2438 - 별 찍기 1

XEV 2023. 1. 24. 10:23

자바 백준 2438번

브론즈 5

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

 

2438번: 별 찍기 - 1

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

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현

 

 

 

 

 

문제 풀기

재귀 함수를 구현하여 별 찍기를 해결해 본다.

 

순차적으로 늘어나는 별의 개수를 위해 초기 값 int count = 0 과 String star = "" 을 지정하였다.

재귀 함수에 진입할 때마다 count 는 하나씩 늘어나고 별 문자도 하나씩 늘어난다.

함수 .repeat() 을 이용하였으면 더 좋았을 것 같은 생각이 든다. (여담으로 SW Expert Academy 에서는 .repeat() 사용이 불가능했다.)

주어진 숫자와 count 가 같아졌을 때 return 을 한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    
    public static Scanner sc = new Scanner(System.in);
		
	static int numStar = sc.nextInt();


	public static void main(String[] args) {
		
		int count = 0;
		String star = "";
		
		fnRecursiveStar(count, star);
		
	}
	
	
	public static void fnRecursiveStar(int count, String star) {
	    
	    if (numStar == count) {
	        return;
	    }
	    
	    star = star + "*";
	    System.out.println(star);
	    
	    fnRecursiveStar(count + 1, star);
	    
	}


}