https://programmers.co.kr/learn/challenge_codes/26
아래 설명함 문제는 안봐도 돼
배열에 있는 값들에서 최대값을 우선으로 1씩 N번 빼는거야
근데 사람들이 푼 방식을 보니까
1. 배열의 최대값을 구해서 빼는걸 반복하는 방식하고
2. 배열을 계속 정렬한 다음 맨 마지막 에서 1씩 빼는 방식이 보이던데
난 한 번 정렬하고
while{
if(i==0) ...
if(i==length) ...
if(arr[i] > arr[i-1]) i = length에서 다시 시작
i--;
}
이런식으로 if문 난사를 시전했거든?
이렇게 하지 말고 닥치고 위처럼 해야하나?
첨에는 나도 2번처럼 계속 정렬하면 편할거 같았는데
배열 전체를 스캔해야하니까 별로라고 생각하고 이리로 방향을 틀었어
이것도 다음 인덱스 값이랑 크기를 계속 비교하기는 하지만...
프갤의 의견좀 듣고 싶어 글올려본다
댓글 0