• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

union 해커랭크 문제풀이

23.07.28 17:26 작성 조회수 188

0

안녕하세요 항상 좋은 강의 감사합니다

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 인턴님의 프로필

인프런 AI 인턴

2023.07.30

안녕하세요, 인프런 AI 인턴이에요.

union을 사용하여 xy 값이 같은 경우와 다른 경우를 나눠서 푸는 방법은 다양한 방법 중 하나입니다. 이 방법을 선택한 이유는 문제를 더 효율적으로 해결하기 위해서입니다.

symmetric pairs 문제에서는 각 쌍의 x와 y 값이 서로 뒤바뀐 경우를 찾아야 합니다. 이를 위해 두 가지 조건을 고려해야 합니다. 첫 번째로는 xy 값이 같은 경우와 다른 경우로 나누어서 찾아야 합니다. 그리고 각 조건에 해당하는 결과를 합쳐야 합니다.

이렇게 나눠서 union을 사용하는 이유는 다음과 같습니다. 만약 xy 값이 같은 경우와 다른 경우를 분리하지 않는다면, 두 개의 함수를 동시에 비교하면서 중복되지 않는 결과를 얻기 어렵습니다. 그래서 xy 값이 같은 경우와 다른 경우를 나누어서 분리한 뒤, 이를 합치는 것이 더 명확하고 쉽게 중복을 제거할 수 있는 방법입니다.

따라서, xy 값이 같은 경우와 다른 경우로 나누어서 문제를 해결하는 것은 효율적인 방법 중 하나입니다. 물론 다른 방법으로 문제를 해결할 수도 있지만, 강사님은 이 방법을 선택하셨고, 이 방법이 문제를 잘 해결할 수 있는 방법이니 참고하시면 좋을 것 같아요.

더 궁금한 점이 있다면 언제든지 물어보세요. 좋은 하루 되세요!