문제
*을 20행까지 출력하는 문제이다
풀이
WITH RECURSIVE Numbers AS (
SELECT 1 AS n
UNION ALL
SELECT n + 1
FROM Numbers
WHERE n < 20
)
SELECT REPEAT('* ', n) AS pattern
FROM Numbers;
재귀적 cte를 활용하여 n을 1에서 20까지 설정
본 쿼리에서 repeat을 사용하여 행마다 n의 개수만큼 별을 찍게 설정
여담으로 python에서 for문과 같은 원리이다
python으로 작성하면 아래와 같다
for i in range(1, 21):
print('* ' * i)
'SQL > HackerRank' 카테고리의 다른 글
HackerRank | Draw The Triangle 1 (재귀적CTE) (0) | 2024.10.26 |
---|---|
HackerRank | Higher Than 75 Marks (0) | 2024.10.12 |
HackerRank | Occupations (sql에서 pivot하기) (1) | 2024.09.30 |
HackerRank | Weather Observation Station 20 (sql로 중위수 구하기) (1) | 2024.09.30 |