쉘 스크립트로 구현할 수 있는 머리가 말랑말랑해지는 문제!
Q. 줄의 개수를 입력하면 그 수의 크기만큼 속이 빈 직각삼각형을 만드세요.
예시) 5를 입력
*
**
* *
* *
*****
예시) 10을 입력
*
**
* *
* *
* *
* *
* *
* *
* *
**********
.
.
.
.
.
.
위 문제는 3가지 규칙이 존재합니다.
*
이 표시됩니다.*
이 표시됩니다.*
이 표시됩니다.#!/bin/bash
read -p "input: " line
for (( l=0; l<line; l++))
do
for (( s=0; s<l+1; s++ ))
do
if (( l == line - 1 || s == 0 || s == l ))
then
echo -n "*"
else
echo -n " "
fi
done
echo
done
line
이라는 입력 변수에 라인의 총 개수를 입력합니다.l
: 첫 번째 라인부터 하나씩 순서대로 조회합니다.s
: l
라인 내에서 열을 하나씩 순서대로 조회합니다.if
문을 이용해 위에서 제시한 3가지 조건을 만족하면 *
을 출력하고,
(빈칸)을 출력합니다.for
문이 끝날 때 echo
를 통해 줄바꿈 합니다.