• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

강사님 오류맞나요?

21.07.02 13:03 작성 조회수 111

1

int[] temperatures = 

{ 73,74,75,71,69,72}

인 경우

// 2중 for

public static int[] solve_for(int[] tem) {

//1.ds

int len = tem.length;

int[] result = new int[len];

int count=0, j ;

//for

for(int i=0;i<len;i++) {

for(j=i+1;j<len;j++) {

if(tem[i] < tem[j]) {

count++;

break;

}else {

count++;

}

}

if(j == tem.length)

result[i] = 0;

else

result[i] = count;

count = 0;

}

return result;

}

이렇게 안쪽에 있는 for를 len까지 돌려야지 정상적으로 답이 나올수있네요 j == tem.length가 안되면서 2가 들어가버리네요

답변 1

답변을 작성해보세요.

0

지성조님 안녕하세요~~

좋은 지적 감사합니다.

두번째 for문에서 len-1을 len으로 바꾸는게 맞습니다.

배열에 끝까지 가게끔 해야됩니다. 

아래 캡쳐처럼 하시면 됩니다.

github에 소스는 업데이트 했습니다. 강의 내용은 추후 업데이트 하도록 하겠습니다.

감사합니다.