이중 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;
}
}
'개발 > CodingTest' 카테고리의 다른 글
Hacckerrank - Halloween Sale (0) | 2020.06.25 |
---|---|
Hackerrank - Prime Checker (0) | 2020.06.05 |
프로그래머스 - 기능개발 (0) | 2020.06.03 |
HackerRank - Anagrams (0) | 2020.06.02 |
HackerRank - Counting Valley (0) | 2020.06.01 |