코딩테스트/JAVA

[JAVA] 삼각형 별(*) 출력하기

할루솔이 2022. 12. 7. 18:20
반응형

처음에 출력할 숫자를 입력받고

순서대로 출력, 거꾸로 출력, 피라미드 모양으로 출력 3가지 중 무엇으로 할지 유형 선택도 받았다.

<소스코드>

-switch 문 사용

 

public class Star {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		char star = '*';
		char blank = ' ';
		System.out.println("숫자를 입력하세요 : ");
		int num = scan.nextInt();
		System.out.println("유형을 선택하세요 (1,2,3) ");
		int type = scan.nextInt();

		// 기본 별 찍기
		if (type == 1) {
			for (int i = 0; i < num; i++) {
				for (int j = 0; j <= i; j++) {
					System.out.print(star);
				}
				System.out.println();
			}
		}
		// 뒤집어서 찍기
		if (type == 2) {
			for (int i = 0; i < num; i++) {
				for (int j = num; j > i; j--) {
					System.out.print(star);
				}
				System.out.println();
			}
		}

		if (type == 3) {
			for (int i = 0; i < num; i++) {
				for (int k = 1; k < num - i; k++) {
					System.out.print(blank);
				}
				for (int j = 1; j <= i * 2 + 1; j++) {
					System.out.print(star);
				}
				System.out.println();
			}
		}

	}

}

 

 

-if 문 사용

public class Star {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		char star = '*';
		char blank = ' ';
		System.out.println("숫자를 입력하세요 : ");
		int num = scan.nextInt();
		System.out.println("유형을 선택하세요 (1,2,3) "); 
		int type = scan.nextInt();
		switch(type) {
			case 1: 
				// 기본 별 찍기
				for (int i = 0; i < num; i++) {
					for (int j = 0; j <= i; j++) {
						System.out.print(star);
					}
					System.out.println();
				} 
				break;
			case 2 :
				// 뒤집어서 찍기
				for (int i = 0; i < num; i++) {
					for (int j = num; j > i; j--) {
						System.out.print(star);
					}
					System.out.println();
				}
				break;
			case 3 :
				for (int i = 0; i < num; i++) {
					for(int k=1;k<num-i;k++) {
						System.out.print(blank);
					}
					for(int j =1;j<=i*2+1;j++) {
						System.out.print(star);
					}
					System.out.println();
			}
				break;
		}

 

<결과>

-switch 문

 

-if 문

 

 


예전에 풀어두었던 코드 옮기기!

상당히 비효율적으로 코딩했다고 생각할 수 있겠지만...

그래도 최대한 머리를 짜내서 했다..ㅠㅠ

좀 더 공부하면 간단하게 할 수 있겠지

반응형