작성
·
158
0
좋은 강의 감사합니다.
코드에 작은 오류가 있는게 아닌가 문의를 드립니다.
이중 for문으로 풀고 넘어갈뻔했는데
단일 for문이 정말 좋은 아이디어여서 꼼꼼히 공부해봤지만 확신이 없네요......
max의 초기값을 h[n-1]로 바꿔야 하지 않을까요?
마지막 앉은 사람은 분노유발자가 될 수 없으니.....
감사합니다.
답변 1
1
안녕하세요! 저도 강의 들은 사람인데 답변을 남겨봅니다!
뒤에서부터 순회해서 최대값이 되는 순간 분노유발자가 된다고 보면 되는데요.
최대값의 초기값을 마지막 사람이 아닌 마지막 이전 사람으로 해버리면, 최대값을 판별해내는 비교구문에서 오류가 발생하는 것 같아요!
예를 들어
56 46 55 76 65 53 52 53 55 50
이라는 배열이 문제처럼 주어지고 최대값을 맨 마지막 50으로 잡게 되면, 분노유발자(뒷 사람을 모두 가려버리는 사람)은
76,65,55이 됩니다.
그런데 최대값을 마지막 사람의 앞 사람인 55로 잡고 그 위치부터 순회하게 되면 55는 55보다 클 수 없으므로 분노유발자에서 제외되고 76, 65 만 나오네요!
저도 강의를 듣는 학생이라 틀릴 수 있어요! 수고하세요!