반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 입출력
- 멀티프로세싱
- 티스토리챌린지
- 붕대 감기
- over()
- CPU
- 혼공얄코
- java
- 자바의정석
- 오버라이딩
- 캡슐화
- 오버로딩
- SQL Mapper
- 객체지향
- 프로그래머스 붕대 감기
- 멀티태스킹
- 쿠키
- 붕대 감기 자바
- contiune
- spring security 설정
- 자바의 정석
- hackerrank
- 프로그래머스
- continue 사용법
- 중첩 break
- 리눅스
- 다형성
- spring security
- break 사용법
- 오블완
Archives
- Today
- Total
쉽게 쉽게
[HackerRank] Symmetric Pairs 본문
반응형
1. 문제
해석
- X1 = Y2이고 X2 = Y1인 두 항을 구한다.
- X <= Y 인 하나의 항만 출력한다.
- 정렬
- 즉 1행의 값에서 20인 x는 2행에서 값이 20인 y와 짝을 이룬다. 1행은 X <= Y 이므로 출력된다.
- 3행에서 값이 20인 x는 6행에서 값이 20인 y와 짝을 이룬다. 3행은 X <= Y 이므로 출력된다.
- 4행에서 값이 23인 x는 5행에서 값이 23인 y와 짝을 이룬다. 4행은 X <= Y 가 아니므로 출력되지 않는다.(5행이 출력)
2. 풀이
1. self join으로 X1 = Y2이고 X2 = Y1인 두 항을 구함
즉 X와 Y가 같은 행을 찾음.
SELECT
f1.x, f1.y
FROM Functions f1, Functions f2
WHERE f1.x = f2.y AND f2.y = f1.x;
2. 이러한 행이 두 개 있어야 하나의 쌍이 만들어지는 것이므로 하나의 행만 존재하는 경우는 제거해야 한다. (HAVING절 첫 번째 조건)
나머지 행들은 모두 X ≠ Y인 경우이므로, 이 중 X < Y인 것만 남기면 된다. (HAVING절 두 번째 조건)
SELECT
f1.x, f1.y
FROM Functions f1, Functions f2
WHERE f1.x = f2.y AND f1.y = f2.x
GROUP BY f1.x, f1.y
HAVING COUNT(f1.x) > 1 OR f1.x < f1.y
ORDER BY f1.x;
https://summa-cum-laude.tistory.com/21
잘못된 내용이 있다면 지적부탁드립니다. 방문해주셔서 감사합니다. |
반응형
'문제풀이 > HakerRank' 카테고리의 다른 글
[HackerRank] Interviews (0) | 2023.09.15 |
---|---|
[HackerRank] The PADS (0) | 2023.07.19 |
[HackerRank] Placements (0) | 2023.07.03 |
[HackerRank] Challenges (0) | 2023.07.01 |
[HackerRank] Top Competitors (0) | 2023.06.25 |