-
chapter1) 직각 이등변 삼각형 별찍기PS/etc 2020. 7. 6. 22:10
public class Q15 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("직각 이등변 삼각형을 출력합니다."); System.out.print("출력할 단수 : "); int n = scanner.nextInt(); System.out.println("출력하고 싶은 삼각형을 입력하세요."); System.out.println("LB LU RB RU"); System.out.print("출력할 삼각형 : "); String triangle = scanner.next(); if (triangle.contains("LB")) { triangleLB(n); } else if (triangle.contains("LU")) { triangleLU(n); } else if (triangle.contains("RB")) { triangleRB(n); } else if (triangle.contains("RU")) { triangleRU(n); } } // 왼쪽 아래 static void triangleLB(int n) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); } } // 왼쪽 위 static void triangleLU(int n) { for (int i = n; i >= 1; i--) { for (int j = i; j >= 1; j--) { System.out.print("*"); } System.out.println(); } } // 오른쪽 아래 static void triangleRB(int n) { for (int i = 1; i <= n; i++) { for (int j = 10; j >= i; j--) { System.out.print(" "); } for (int k = 1; k <= i; k++) { System.out.print("*"); } System.out.println(); } } // 오른쪽 위 static void triangleRU(int n) { for (int i = n; i >= 1; i--) { for (int j = 10; j >= i; j--) { System.out.print(" "); } for (int k = i; k >= 1; k--) { System.out.print("*"); } System.out.println(); } } }
(1)
public class Triangle_01_15 { // 왼쪽 아래가 직각인 이등변삼각형을 출력 static void triangleLB(int n) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) System.out.print('*'); System.out.println(); } } // 왼쪽 위가 직각인 이등변삼각형을 출력 static void triangleLU(int n) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i + 1; j++) System.out.print('*'); System.out.println(); } } // 오른쪽 위가 직각인 이등변삼각형을 출력 static void triangleRU(int n) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= i - 1; j++) System.out.print(' '); for (int j = 1; j <= n - i + 1; j++) System.out.print('*'); System.out.println(); } } // 오른쪽 아래가 직각인 이등변삼각형을 출력 static void triangleRB(int n) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) System.out.print(' '); for (int j = 1; j <= i; j++) System.out.print('*'); System.out.println(); } } public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); int n; System.out.println("삼각형 모양으로 나타냅니다."); do { System.out.print("단수는 :"); n = stdIn.nextInt(); } while (n <= 0); System.out.println("왼쪽 아래가 직각인 삼각형"); triangleLB(n); // 왼쪽 아래가 직각인 이등변삼각형 System.out.println("왼쪽 위가 직각인 삼각형"); triangleLU(n); // 왼쪽 위가 직각인 이등변삼각형 System.out.println("오른쪽 위가 직각인 삼각형"); triangleRU(n); // 오른쪽 위가 직각인 이등변삼각형 System.out.println("오른쪽 아래가 직각인 삼각형"); triangleRB(n); // 오른쪽 아래가 직각인 이등변삼각형 } }
(2)
- 내가 구현한 코드에서 오른쪽 정렬 하는게 좀 이상한듯 ?
1) n > 0 이상으로 해서 양수만 받게 했어야 했는데 빠졌음.
2) 오른쪽 정렬 방법이 생각이 안나서 10부터 시작하는걸로 했는데 이런식으로하면 10단 이상부터는 올바른 출력이 안됨.
※참조
Do it! 자료구조와 함께 배우는 알고리즘 입문'PS > etc' 카테고리의 다른 글
chapter1) 숫자 피라미드 찍기 (0) 2020.07.07 chapter1) 피라미드 별 찍기 (0) 2020.07.07 chapter1) 사각형 별찍기 (0) 2020.07.06 chapter1) 덧셈표 작성 (0) 2020.07.06 chapter1) 곱셈표 작성 (0) 2020.07.06