망나니 AWOS의 일상
article thumbnail

내 입장에서 별 찍기가 가장 어려운 것 같다...

(멍충해서 그런가 ㅋㅋ 아니면 1학년 때 C언어 과목에서 고놈의 별 찍기를 트라우마가 생길 정도로 찍었던 기억 때문일지도... 과제로 내주시는 교수님...  하지만 printf("")로 찍었던 나... ㅎㅎㅎ)

 

문제 출력에서 보면

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

라고 했으니 입력이 N=3이 들어왔을 때 출력이 총 5줄에 걸쳐 찍히기 때문에 기준을 N으로 잡아서 풀면 되겠다는 생각이 들었다.

for(int i=0; i<2*N-1; i++){
	// i=0,1,2,3,4 까지 돌게 된다.
    if(i<N) {
    // N=3이고 i는 N보다 작으므로 i=0,1,2 총 3번 돌게됨
    	/*
           *
           **
           ***
           이런식으로 찍히게 됨
        */
    	for (int j = 0; j <= i; j++){
        	System.out.print("*");
        }
        System.out.println();
        
    }else {
    // i = 3 부터 시작되어 5미만까지 돌기 때문에
    // i=3,4 총 두번 돌게 됨.
    	/* 
           **
           *
           이런식으로 찍히게 됨
        */
    	for (int j=i; j<2*N-1; j++){
        	System.out.print("*");
        }
    	System.out.println();
    }
}

완성 코드 👍👍👍

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

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!