Hayden's Archive
[알고리즘] 프로그래머스 : 탑 본문
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42588
내가 작성한 코드
class Solution {
public int[] solution(int[] heights) {
int[] answer = new int[heights.length];
int send = 0;
int receive = 0;
for(int i=heights.length-1; i>=1; i--){
if(heights[i]<heights[i-1]){ //송신 성공
answer[i] = i;
}else { //송신 실패
send = i; //송신할 인덱스
receive = i; //수신할 인덱스
while(true) {
if(receive>0) { //배열 인덱스 범위 벗어나지 않도록 조건 지정
receive--;
if(heights[send]<heights[receive]) {
answer[send]=receive+1;
break;
}
}
else break;
}
}
}
return answer;
}
}