https://www.hackerrank.com/challenges/draw-the-triangle-1/problem
P(R) represents a pattern drawn by Julia in R rows. The following pattern represents P(5):
* * * * *
* * * *
* * *
* *
*
Write a query to print the pattern P(20).
select rpad('*',2*(20-level)+1,' *')
from dual
connect by level<=20
order by level;
level
과 rpad
를 이용해서 쿼리를 작성하는 것이었다.
rpad
는 오른쪽에 빈공간이 있으면, 지정한 크기 만큼 나머지 채움 문자로 채우는 것이다.
rpad('*', 2*(20-level)+1,' *')
을 해준 이유는,
처음에는 20-level+1로 했었는데 *과 * 사이에 공백이 필요했다.
그래서 P(5)를 보니 제일 처음 글자는 9글자였다.
2x(20-level)+1을 하면 딱 9글자가 된다. 그러므로 전체 크기를 해당 값으로 지정해주고, connect by <=20으로 20까지로 루프해서 해결하면 된다.