[HackerRank SQL] Draw The Triangle 별 삼각형 그리

2025. 3. 6. 13:24·SQL

안녕하세요 해커랭크 sql 오답정리를 해보려 합니다.

일단 easy 레벨은 다 풀었고 Medium 레벨을 가기전 그동안 풀었던 문제들을 포스팅 해보려 합니다.

 

파이썬으로는 많이 해봤지만 sql에서 별 삼각형 그리기는 처음이라 어려웠네요.

답안을 정리하고 어떤 함수였는지 정리해보려 합니다.

 

Q. 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).

1~20개의 별을 행별로 출력하는 문제입니다.

sql에서 print의 개념자체를 처음 봤기에 gpt에서 검색해서 답을 찾아봤습니다.


Answer

WITH RECURSIVE star_pattern AS (
    SELECT 1 AS n  -- 시작값 (1부터 시작)
    UNION ALL
    SELECT n + 1 FROM star_pattern WHERE n <20   -- 1씩 증가하며 재귀 호출
)
SELECT REPEAT('* ', n) AS stars FROM star_pattern;

 

파이썬 while문과 마찬가지로 1부터 숫자를 하나씩 더해가며 n이 20이 되기전까지 *을 출력하는 함수지만, CTE로 만든 star_pattern 테이블이 어떻게 만들어진건지 감이 잘 안왔습니다.

 

하나씩 뜯어보니 star_pattern 테이블은

n= 1 로 시작하고 (Select 1 As n)

n<20일 때까지 (Where n < 20)

병합  n = 2  (Union All Select n+1 From star_pattern )

병합 n = 3 (Union All Select n+1 From star_pattern )

...

병합 n= 20  (Union All Select n+1 From star_pattern )

 

으로 간단한 n에 관한 테이블이었습니다. 간단히 표로 그려보자면 아래와 같겠네요!

 

<star_pattern 테이블>

n
1
2
3
...
20

 

n이라는 컬럼이 만들어지기 때문에 REPEAT('* ', n) 함수를 넣어줬을 때,

모든 n 값에 대해 결과값을 프린트해주는 걸 볼 수 있습니다.

 

파이썬 코딩테스트 같은 이 문제를 처음 봤을 땐 감도 안왔는데 정리를 해보니 이젠 조금 알 것 같습니다.

 

읽어주셔서 감사합니다 :)

'SQL' 카테고리의 다른 글

[HackerRank] Occupations 직업별 피벗 테이블 만들기  (0) 2025.03.19
[HackerRank] The PADS 안됐던 이유 정리  (0) 2025.03.14
SQL 회원가입 후 로그인까지 소요된 평균일 수 구하기  (3) 2025.02.04
SQL 직원이 속한 전체 부서의 평균 급여 출력하기  (0) 2025.01.24
'SQL' 카테고리의 다른 글
  • [HackerRank] Occupations 직업별 피벗 테이블 만들기
  • [HackerRank] The PADS 안됐던 이유 정리
  • SQL 회원가입 후 로그인까지 소요된 평균일 수 구하기
  • SQL 직원이 속한 전체 부서의 평균 급여 출력하기
데이터먼지
데이터먼지
데이터분석 및 AI Agent 개발하고 있습니다 :)
  • 데이터먼지
    먼지's Data Analysis
    데이터먼지
  • 전체
    오늘
    어제
    • 분류 전체보기 (45)
      • AI agent (3)
      • 데이터분석 (24)
        • 데이터분석 (4)
        • 데이터 전처리 (10)
        • 데이터시각화 (3)
        • 시계열분석 (6)
        • 환경세팅 (1)
      • SQL (6)
      • 개발&분석 경험 (2)
      • 알고리즘 (3)
      • OS (1)
      • 수학 (4)
        • 선형대수 (2)
        • 확률&통계 (2)
      • 맛집 (2)
        • 이수&사당 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    시간형식변환
    adf_test
    리눅스개념
    시계열분해
    시계열 #reindex #인덱스 확장 #datetime index #index extention # 데이터전처리
    확률
    크롤링자동화
    음수값 #전처리 #선형보간 #pandas #데이터 #데이터분석
    데이터분석
    시계열모듈
    시계열데이터셋
    응용이 보이는 선형대수
    짧은 시계열 # 금융시계열
    플로틀리
    시계열시각화
    시간형식
    pandas
    timeseries decomposition
    loess
    이수역 양식집
    np.split
    파이프라인전처리
    seaborn # kdeplot # 데이터분석
    오제이튜브
    stl
    Python
    SQL
    시계열
    pandas # 월말 날짜 # 마지막 주 # 날짜계산 # 시계열 # 마지막 주 금요일
    빈 데이터프레임 #pandas #데이터전처리
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데이터먼지
[HackerRank SQL] Draw The Triangle 별 삼각형 그리
상단으로

티스토리툴바