포스트

[프로그래머스] 직각삼각형 출력하기

문제

문제 설명

“의 높이와 너비를 1이라고 했을 때, ““을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.

제한 사항

  • 1 ≤ n ≤ 10

입출력 예

입력 #1

1
3

출력 #1

1
2
3
*
**
***

입출력 예 설명

입출력 예 #1

  • n이 3이므로 첫째 줄에 * 1개, 둘째 줄에 * 2개, 셋째 줄에 * 3개를 출력합니다.

풀이

풀이 방식

  • 반복문을 두 번사용한다.
  • 내부 반복문에서 j만큼 System.out.print(*)을 출력한다.
  • 내부 반복문이 끝나면 System.out.println()을 사용하여 줄바꿈을 해준다.

제출 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;

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

다른 사람 풀이

코드를 짜면서 ‘이것보다 훨씬 더 가독성 좋고 간결하게 만들 수 있을텐데’라는 생각을 했는데 다른 사람의 풀이를 보면서 ‘이거다’라고 느꼈던 코드가 있었다.

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Scanner;

public class Solution {
    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("*".repeat(i));
        }
    }
}

for문은 한 번 사용하였고 repeat으로 i만큼 *을 출력하였다.
오늘도 배워가는 메소드

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.