알고리즘/문제풀이

[정렬] 주식가격

lipnus 2018. 9. 28. 18:21
반응형


[프로그래머스] 주식가격


package com.company;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Main {

public static void main(String[] args) {
// write your code here

int[] heights = {3,9,9,3,5,7,2};

int[] answer = new int[heights.length];

int marker;
for(int i=heights.length-1; 0<=i; i--){

marker = i;
for(int j=i-1; 0<=j; j--){
if( heights[j] > heights[marker] ){
marker=j;
break;
}
}//for(j)

if(marker==i) answer[i]=0;
else answer[i]=marker+1;
}//for(i)

for(int ans:answer){
System.out.println(ans);
}





}
}


효율성 통과가 된 이유는 다 하지 않고 break;하니까 j를 다 돌지 않고 일부만 돌아서 n^2에서 nlogn이 되어서?

반응형