반응형
[프로그래머스] 주식가격
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이 되어서?
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
[BFS,DFS] 타겟넘버 (0) | 2018.10.09 |
---|---|
[재귀] 조합 (0) | 2018.10.04 |
[정렬] 다리를 지나는 트럭 (0) | 2018.09.28 |
[정렬] 프린터 (0) | 2018.09.26 |
[Queue] 기능개발 (0) | 2018.09.24 |