강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ghuhan185122
ghuhan185122

câu hỏi đã được viết

Học cấu trúc dữ liệu và thuật toán dễ dàng qua hình ảnh (Phần cơ bản)

Bảng băm - Khái niệm

질문

Viết

·

267

2

안녕하세요. 덕분에 삽입정렬 마스터했습니다.

 

또한 다른 쪽 우선 공부해보고 싶은 곳이 있는데, 만약 A=(1, 11, -2, 12, 8, 9)이고 x=10이라면, 알고리즘은 (1, 9) 또는 (-2, 12) 같은 쌍을 찾아내야 할때를 공부하고 싶은데, 어떤 부분을 공부하면 될까요? 기본인지 심화에 있는지도 말씀해주시면 감사드리겠습니다.

알고리즘

Câu trả lời 2

0

ghuhan18님의 프로필 이미지
ghuhan18
Người đặt câu hỏi

친절하고 상세한 답변 감사합니다. 제가 딱 바로 떠오른 생각은 for 문을 2개 중첩시켜서 selection sort 의 방식과 같이 하나씩 직접 다 비교해보는 방법이 가장 적절할 것 같은데, 이에 대해서는 어떻게 생각하시나요 ?

gamja5님의 프로필 이미지
gamja5
Người chia sẻ kiến thức

그 방법도 나쁘지 않는 것 같습니다.
다만 짝을 찾는 특성으로 이미 짝이 구해진 수는 탐색 범위에서 제거하면 더 빨라질 것 같습니다 :)

0

gamja5님의 프로필 이미지
gamja5
Người chia sẻ kiến thức

안녕하세요 ghuhan18님!
말씀주신 알고리즘은 강의에서 직접적으로 다루지는 않습니다.
이 세상엔 셀 수도 없이 많은 알고리즘이 있는데 모든 알고리즘을 다루는 건 힘듭니다.
어떤 알고리즘의 경우는 이전에 배웠던 다른 알고리즘을 이용하거나 조금 변형하면 해결할 수 있는 경우가 있습니다.

말씀주신 알고리즘을 예를들면 해당 배열의 첫 번째 원소부터 끝까지 순회합니다.
만약 첫 번째 원소인 1을 선택했다면 x가 10이므로 9(10-1)을 찾으면 되겠죠?
여기서 검색 알고리즘을 사용해 9를 찾고 9를 찾았다면 (1, 9) 쌍이 존재하는 것을 알 수 있습니다.
이렇게 배열의 원소를 반복한다면 모든 쌍을 찾을 수 있을 것 같네요.
물론 지금 제가 말씀드린건 즉석에서 생각할 수 있는 아주 간단한 방식의 해결방법이고 문제의 정답은 여러가지가 될 수 있습니다.
우선 ghuhan18님께서 기존에 알고있는 자료구조와 알고리즘을 활용해서 문제를 해결하다가 아이디어가 떠오르지 않으면 다른 사람이 어떻게 해결했는지 참고하시면 공부에 큰 도움이 되실겁니다 :)

궁금증이 해결되셨나요?

Hình ảnh hồ sơ của ghuhan185122
ghuhan185122

câu hỏi đã được viết

Đặt câu hỏi