개발/CodingTest
프로그래머스 - 탑
Lumasca
2020. 6. 3. 12:44
이중 for는 맘에 안들지만 ..
스택을 어떻게 활용하는 걸까?
import java.util.*;
class Solution {
public int[] solution(int[] heights) {
int len = heights.length;
int[] answer = new int[len];
//레이저가 왼쪽으로 발사하니 오른쪽 탑부터..
for(int i = len-1; i > 0 ; i--){
boolean recv = false;
for(int j=i-1; j>=0; j-- ){
if(heights[i] < heights[j]){//현재 탑 높이보다 높으면 수신탑 기록
answer[i] = j+1;//탑번호는 1부터 시작하니 더해주고
recv = true;
break;
}
}
if(!recv){
answer[i] = 0;
}
}
//System.out.println("result="+Arrays.toString(answer));
return answer;
}
}