백준 2438 - java ) 별 찍기-1

2021. 8. 24. 00:54코딩/Python

내 사고과정

별 찍기 또한 알고리즘의 고전 중에 하나이다. 별 찍기는 공백 출력, 줄바꿈, 별 출력 등 다양하게 고려해야 할 요소가 많다. 그래서 중첩 for문을 꼭 사용해주어야 한다. 

또한 Scanner 클래스를 이용하여 사용자로부터 N을 입력받아 사용자가 입력한 N 값 만큼 별의 줄 수를 출력한다. 

 

별찍기나 공백 출력은 감이 왔지만,줄바꿈은 1번씩 밖에 안하는데, 줄바꿈을 표현하는 것이 조금 헷갈렸다. 

 

실행코드 

import java.util.Scanner; 

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

실행 결과 

5
*
*
*
*
*

수정한 코드 

import java.util.Scanner; 

public class Test {
	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++) { // 1~N행까지 출력 
			for(int j=1;j<=i;j++) {
				System.out.print("*"); // N행까지 * 출력 . println()이 아닌 print로 출력 println으로 하면 줄바꿈이 되어 *들이 합쳐지지 않고 한 줄에 하나씩 출력된다. 
			}
			System.out.println(); // 줄바꿈 출력 
		}
		
			
	
	   }
}

실행 결과 

7
*
**
***
****
*****
******
*******

'코딩 > Python' 카테고리의 다른 글

백준 10871 - java ) X보다 작은 수  (0) 2021.08.24
백준 2439 - java ) 별찍기-2  (0) 2021.08.24
백준 11022 - java ) A+B-8  (0) 2021.08.24
백준 11021 - java ) A+B-7  (0) 2021.08.24
백준 2742 - java ) 기찍N  (0) 2021.08.24