1. 문제 https://www.hackerrank.com/challenges/full-score/problem?isFullScreen=true&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen Top Competitors | HackerRank Query a list of top-scoring hackers. www.hackerrank.com 2. 풀이 1번 넘게 만점 받은 학생들의 수를 구하고, 그 결과에 맞는 아이디와 이름을 출력하는 방식으로 풀이했다. challenges, submissions, difficulty을 inner join 한 후 만점인 학생들을 구하고, hacker_id별로 그룹화 하고 hacker_id별로 1번 넘는 경우를 구한다. 이..
1. 문제 https://www.hackerrank.com/challenges/contest-leaderboard/problem?isFullScreen=true&h_r=next-challenge&h_v=zen Contest Leaderboard | HackerRank Generate the contest leaderboard. www.hackerrank.com 2. 풀이 학생별 + 챌린지별로 점수의 최댓값을 구한 후 그 값을 더해줘야 한다. 따라서, 학생별 챌린지별로 점수의 최댓값을 먼저 구한후 hacker 테이블과 join해 점수의 합을 구한다. 점수의 최댓값이 0일 경우 제외하며, 정렬 순서에 유의한다. 3. 코드 select h.hacker_id, h.name, sum(score) from ( se..
1. 문제 https://www.hackerrank.com/challenges/the-pads/problem?isFullScreen=true&h_r=next-challenge&h_v=zen The PADS | HackerRank Query the name and abbreviated occupation for each person in OCCUPATIONS. www.hackerrank.com 2. 풀이 이름을 나열하는 쿼리과 직업별 사람수를 세는 쿼리를 각각 작성한다. 이름을 나열하는 쿼리에서는 AnActorName(A) 형식으로 만들기 위해 concat을 사용한다. 직업의 첫글자를 잘라내기 위해 left()를 사용한다. substring(occupation, 1, 1)도 가능하다 직업별 사람수를 세는 ..
1. 문제 https://www.hackerrank.com/challenges/what-type-of-triangle/problem?isFullScreen=true Type of Triangle | HackerRank Query a triangle's type based on its side lengths. www.hackerrank.com 2. 풀이 case문을 사용해 삼각형의 조건을 확인한다. 3. 코드 select case when (a = b and b = c) then 'Equilateral' when (a + b
목차 1. WITH RECURSIVE WITH RECURSIVE 메모리 상에 가상의 테이블을 만드는 방법이다. 컬럼 이름은 1개 이상 가능하다. WITH RECURSIVE 테이블이름(컬럼이름) AS ( SELECT 초기값 UNION ALL SELECT 컬럼이름 계산식 FROM 테이블이름 WHERE 제어문 ) -- 아래의 경우도 가능 WITH RECURSIVE 테이블이름 AS( SELECT 초기값 AS 컬럼이름 UNION ALL SELECT 컬럼이름 계산식 FROM 테이블이름 WHERE 제어문 ) -- 0에서 23시까지의 시간 목록 테이블 만들기 WITH RECURSIVE TIMETABLE(HOUR) AS ( SELECT 0 UNION ALL SELECT HOUR + 1 FROM TIMETABLE WHER..

1. 문제 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 2. 풀이 DP를 사용해서 풀이한다. 2X1, 1X2 타일을 이용해 채우므로, 3XN에서 N이 홀수일 경우 타일로 채워질 수 없다. 자바 배열에서는 배열 선언시 0으로 초기화 되므로 별도로 값을 초기화해주지 않아도 된다. 경우를 2가지로 나누어서 생각한다. 3X2를 채울 수 있는 경우는 3개이다. N-2개의 타일을 채운 경우 뒤에 2X1을 채워넣는다고 생각하면, DP[N] += DP[N-2] * 3이다. 4X2, 6X2, 8X2.... 4 이후 2의 배수마다 2가지 방법으로 칸을 채울 수 있는 방..
1. 문제 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 2. 풀이 BFS를 이용해 풀이한다. 별도로 방문 배열을 사용하지 않고 방문한 부분을 2로 값을 변경했다. 이 문제에서 중요한 것은 방향을 정하는 것이다. d가 0인 경우에는 북쪽을, 1인 경우에는 동쪽을, 2인 경우에는 남쪽을, 3인 경우에는 서쪽 인데, 표에 해당하는 방향을 미리 배열로 지정해 놓고 왼쪽으로 이동할 때 (기존 방향 + 3) % 4로 다음 방향을 설정해준다. 청소를 ..
목차 1. CASE 2. IF 3. IFNULL 4. 함수 (ABS, CEIL, FLOOR, ROUND)) CASE 조건에 맞는 값을 반환한다. CASE WHEN 조건1 THEN 반환값 1 WHEN 조건2 THEN 반환값 2 ELSE 조건 충족하지 못할때의 반환값 END SELECT CASE WHEN (SCORE BETWEEN 9 AND 10) THEN 'A' WHEN (SCORE BETWEEN 7 AND 8) THEN 'B' WHEN (SCORE BETWEEN 5 AND 6) THEN 'C' ELSE 'D' END AS 성적 FROM STUDENTS_EXAM; IF 조건의 참/거짓 여부에 따라 결과를 반환한다 SELECT IF(조건, 참일때의 값, 거짓일때의 값) AS '결과' FROM 테이블이름 SE..
목차 1. DATE 데이터에서 원하는 부분 추출하기 2. DATETIME에서 DATE로 형 변환 3. DATEFORMAT 형식지정자 4. DATETIME 연산 DATE 데이터에서 원하는 부분 추출하기 SELECT YEAR(DATETIME) -- 년도 추출 SELECT MONTH(DATETIME) -- 월 추출 SELECT DAY(DATETIME) -- 일 추출 SELECT HOUR(DATETIME) -- 시간 추출 SELECT MINUTE(DATETIME) -- 분 추출 DATE FORMAT 변환 SELECT date_format(datetime, '%h:%i:%s') FROM 테이블; DATEFORMAT 형식지정자 지정자 설명 %Y 네자릿수형 년도 (2021) %y 두자릿수형 년도 (21) %a 축약된..
목차 1. 문자열 비교 2. 문자열 자르기 (SUBSTRING) 3. 방향 기준 문자열 자르기 (LEFT, RIGHT) 4. 구분자를 기준으로 문자열 자르기 (SUBSTRING_INDEX) 5. 특정 문자열 포함 확인하기 (LIKE) 6. 정규표현식 (REGEXP) 7. 문자를 숫자로, 숫자를 문자로 8. 문자열 대체(replace) 문자열 비교 (!= 또는 ==) SELECT * FROM 테이블이름 WHERE 행이름 != "문자열"; 문자열 자르기 (SUBSTRING) SUBSTR, SUBSTRING 모두 가능하며, 시작점과 길이를 정해 자를 수 있다. SUBSTRING(str,pos) SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) SUBSTRING(str FROM..
- Total
- Today
- Yesterday
- 리눅스
- 블루투스
- FTP
- 스티커모으기2
- 2981
- the pads
- java
- 메일서버
- hackerrank
- 구슬 탈출2
- 라즈베리파이
- 키 순서
- hc-06
- c++
- 11503
- ESP8266
- 프로그래머스
- git
- BFS
- 백준
- dht11
- 아두이노
- DP
- mysql
- 집배원 한상덕
- 라즈비안
- 워드프레스
- dovecot
- 합승 택시 요금
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |