Skip to content

문제 8 · 직각삼각형 출력 의사알고리즘

문제 8 [2점]

아래 문제를 풀기 위한 의사알고리즘pseudo-algorithm을 작성하세요.

임의의 정수를 입력받아 아래처럼 '*'로 이루어진 직각삼각형을 출력하시오. (setw(n) 함수 사용 금지)

입력받은 정수가 4인 경우의 예:

****
***
**
*
풀이 및 해설

줄이 내려갈수록 별의 개수가 n, n-1, …, 1하나씩 줄어드는 형태입니다. 바깥 반복문은 별의 개수를 n부터 1까지 줄이고, 안쪽 반복문은 그 개수만큼 '*'를 출력합니다.

의사알고리즘

n 을 입력받는다
row 를 n 부터 1 까지 1씩 감소시키며 반복:
    col 을 1 부터 row 까지 반복:
        '*' 를 출력          // 개행 없이
    개행을 출력
  • 바깥 반복 변수 row가 그 줄에 찍을 별의 개수와 같습니다.
  • setw 없이 순수 반복만으로 정렬을 만들며, 각 줄 끝에서 개행합니다.

n = 4이면 4, 3, 2, 1개의 별이 차례로 출력됩니다.

**********

👉 실습(C++)에서 확인하기

PDF