https://www.hackerrank.com/challenges/draw-the-triangle-1/problem?isFullScreen=true
코드설명
ALTERNATIVE QUERIES + CONNECT BY + RPAD를 활용합니다.
아래의 코드를 설명해보면, 우선 CONNECT BY LEVEL <= 20 을 통해 LEVEL을 1부터 20까지 실행시킵니다.
그리고 RPAD 함수(시작문자열, 총 길이, RIGHT에 붙일 문자열 형태)를 실행시킵니다.
공백까지 포함되므로 사실상 '* '는 1이 아니라 2의 길이라는 점을 유의하면서 풀면 이해할 수 있습니다.
(21-LEVEL) * 2를 통해 적정길이까지만 출력하는데, 이를 통해 원하는 길이만 출력하는 것이지요.
ORACLE 코드
SELECT RPAD('* ', (21 - LEVEL) * 2, '* ') AS PATTERN
FROM DUAL
CONNECT BY LEVEL <= 20;