[HackerRank] Draw The Triangle 1,2

생각하는 마리오네트·2021년 12월 4일
0

SQL

목록 보기
27/39

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


풀이

  • 이번문제를 풀면서 필요한 개념 : 변수설정, REPEAT함수, FROM information_schema.tables
SET @variable = 21;

SELECT REPEAT('* ', @variable := @variable -1 ) FROM information_schema.tables;

  • 먼저 변수를 설정하는 방법은 SET함수를 사용하여 @변수명 을 통해서 변수명을 지정해준다.
    이때 = 과 :=을 구분해야하는데 =은 말그대로 =뒤의 내용을 부여하는것이고 :=는 대입해준다고 보면된다.
  • variable이라는 변수를 21로 대입해주었다. 20이 아니라 21로 한것은 " @variable := @variable -1 " 이런식으로 -1을 대입해주면서 점점 갯수를 줄여나갈것이기 때문이다.
  • 다음으로 REPEAT함수를 통해 반복해주는데 횟수를 " @variable := @variable -1 "회 만큼 반복해주면된다.
  • 마지막으로 FROM information_schema.tables 이코드는 데이터 베이스 테이블을 가져오는것 같은데 이것을 몰라서 계속 틀리다 구글링을 통해 알게되었다.

느낀점

이번문제는 SQL의 출력 형태나 쿼리문의 특징에대해서 이해하고 알 수 있는 좋은 문제 인것같다!


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

풀이

set @variable = 0;
select repeat('* ', @variable := @variable + 1) from information_schema.tables;

이번에는 한개에서 늘어나는것이기 때문에 변수를 0부터시작해서 +1해주는것으로 대입해주면된다.

profile
문제를해결하는도구로서의"데이터"

0개의 댓글