union 해커랭크 문제풀이
313
작성한 질문수 6
안녕하세요 항상 좋은 강의 감사합니다
symmetric pairs 문제에서 문제 초반 부에 xy 값이 같은 경우와 다른 경우로 나누어서 푸셨는데 저 같은 경우는
select f1.x,f1.y
from functions as f1
inner join functions as f2 on f1.x = f2. y and f1.y = f2.x
where f1.x <= f1.y and f1.x < f2.x
order by x
이 부분만 적고 xy가 같은 경우를 따로 만들어서 union해야 하는 지 생각을 하지 못했는데 강사님께서는 어떤 이유로(어떤 요소를 보고) xy값이 같은 경우와 다른 경우로 나누어서 풀어야 겠다고 생각하셨는지 알고 싶습니다.
감사합니다
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
union을 사용하여 xy 값이 같은 경우와 다른 경우를 나눠서 푸는 방법은 다양한 방법 중 하나입니다. 이 방법을 선택한 이유는 문제를 더 효율적으로 해결하기 위해서입니다.
symmetric pairs 문제에서는 각 쌍의 x와 y 값이 서로 뒤바뀐 경우를 찾아야 합니다. 이를 위해 두 가지 조건을 고려해야 합니다. 첫 번째로는 xy 값이 같은 경우와 다른 경우로 나누어서 찾아야 합니다. 그리고 각 조건에 해당하는 결과를 합쳐야 합니다.
이렇게 나눠서 union을 사용하는 이유는 다음과 같습니다. 만약 xy 값이 같은 경우와 다른 경우를 분리하지 않는다면, 두 개의 함수를 동시에 비교하면서 중복되지 않는 결과를 얻기 어렵습니다. 그래서 xy 값이 같은 경우와 다른 경우를 나누어서 분리한 뒤, 이를 합치는 것이 더 명확하고 쉽게 중복을 제거할 수 있는 방법입니다.
따라서, xy 값이 같은 경우와 다른 경우로 나누어서 문제를 해결하는 것은 효율적인 방법 중 하나입니다. 물론 다른 방법으로 문제를 해결할 수도 있지만, 강사님은 이 방법을 선택하셨고, 이 방법이 문제를 잘 해결할 수 있는 방법이니 참고하시면 좋을 것 같아요.
더 궁금한 점이 있다면 언제든지 물어보세요. 좋은 하루 되세요!
리트코드 1280. Students and Examinations
0
75
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
89
2
African Cities 문제관련 질문
0
54
1
SQL 코딩테스트 질문
0
206
1
HACKER RANK에서 문제찾기
0
99
2
강의 자료 다운로드
0
90
2
Asian population 문제가 없어요
0
77
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
68
2
별칭 관련해서 질문 있습니다.
0
79
2
rising temperature 문제 질문
0
98
2
해커랭크 TOP EARNERS 문제 질문
0
99
1
ON 뒤에 질문
0
95
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
196
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
204
2
CustomerID가 중복되서 나타나요
0
234
3
별칭이 전체 테이블을 못 불러와요.
0
144
2
CASE WHEN 쿼리 오류 문의
1
325
3
CASE문제풀이 질문
0
125
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
138
1
Average Population 질문
0
130
1
Revising Aggregations - The Count Function 질문
0
104
1
Average Population of Each Continent 에대해서 질문
0
193
3
w3schools 에서 쿼리 작성 질문
0
159
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
329
1





