인프런 커뮤니티 질문&답변

YUN CHAI NA님의 프로필 이미지

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

19. 분노 유발자(1차원 배열의 필요성)

초기값 설정 문의

작성

·

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 만 나오네요!

저도 강의를 듣는 학생이라 틀릴 수 있어요! 수고하세요!