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해주는것으로 대입해주면된다.