alpyrithm_알파이리즘

[알고리즘][Java] 백준(BOJ) 2445 별 찍기 - 8_자바 본문

Algorithm/백준 알고리즘_Java

[알고리즘][Java] 백준(BOJ) 2445 별 찍기 - 8_자바

알파이 2021. 3. 14. 08:28

 

입출력

2445 별 찍기 - 8    www.acmicpc.net/problem/2445

 

2445번: 별 찍기 - 8

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

 

 

 

문제 풀기 전 공부할 것 : 입출력, 구현

 

 

 

 

 

 

 

풀이

<내용>

  • Scanner로 n을 입력받는다.
  • 별 찍기 형태를 가운데를 기준으로 위쪽(가운데 포함) 아래쪽으로 나눠서 생각한다.
  • 한 줄을 또 반으로 나누면 반은 n개만큼이다.
  • n개에서 i개만 별(*)이고 나머지는 빈칸으로 채워져 있다.
  • 그리고 n개에서 n-i만큼 빈칸이고 i개만 별(*)로 채워져 있다.
  • 이를 n 줄 반복한다.
  • 아래쪽은 n 줄 반복할 때 변수를 n-1, n-2, n-3, ..., 1로 위쪽 과정을 반복하면 된다.

 

 

<코드>

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++) {
				System.out.print("*");
			}
			for (int k=1; k<=2*(n-i); k++) {
				System.out.print(" ");
			}
			for (int j=1; j<=i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		for (int i=n-1; i>0; i--) {
			for (int j=1; j<=i; j++) {
				System.out.print("*");
			}
			for (int k=1; k<=2*(n-i); k++) {
				System.out.print(" ");
			}
			for (int j=1; j<=i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}

	}

}

 

 

 

 

 

 

 

 

 

 

 

 

같은 문제 파이썬 풀이법

2020/03/17 - [Algorithm/백준 알고리즘_Python] - [알고리즘][Python] 백준(BOJ) 2438/2439/2440/2441/2442/2445/2522/2446/10991/10992 별 찍기 _ 파이썬

 

[알고리즘][Python] 백준(BOJ) 2438/2439/2440/2441/2442/2445/2522/2446/10991/10992 별 찍기 _ 파이썬

입출력(3) 알고리즘의 가장 기본인 입출력 문제들 2438 별 찍기 - 1  https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www..

alpyrithm.tistory.com

 

 

반응형
Comments