llabllab   7년 전

안녕하세요. 10817 세 수 중 두 번째로 큰 수 출력 문제를 푸는 중인데요.

모든 경우의수를 if문으로 나열하는 방법 말고는 감을 잡지 못하겠습니다.

답안으로 참고할 소스코드좀 부탁드릴꼐요..감사합니다

gallopsys   7년 전

조금만 생각을 해보시면 크게 어려운 방법이 아니라는 걸 아실 수 있을텐데요...


말씀대로 세 수 a, b, c가 있다고 했을 때, 모든 경우의 수를 나열해보면 최대 나올 수 있는 가지수는 아래 나열되어 있는 6가지 입니다.


1) a < b < c           2) a < c < b

3) b < a < c           4) b < c < a

5) c < a < b           6) c < b < a


좀 더 잘 생각해보면 일일히 위의 6개를 비교하지 않더라도 if문 비교 3번이면 항상 두 번째로 큰 수를 얻을 수 있는 방법이 있습니다.

이에 대해서 궁금하시면 한 번 버블 소트(Bubblesort)를 한 번 풀어서 생각해보시면 도움이 될 거예요.


꼭 이렇게 풀지 않으셔도 그냥 귀찮으시면 배열에 넣고 정렬을 돌리신 후 두 번째로 큰 수를 출력하는 방법도 있죠...

llabllab   7년 전

조언 감사합니다. 다시 한 번 풀어보겠습니다!

댓글을 작성하려면 로그인해야 합니다.