https://programmers.co.kr/learn/courses/30/lessons/42588
위의 링크 문제를 풀었다.
내코드---------------------------------------------------
탑의 신호가 오른쪽에서 왼쪽으로 수신보낸다는 것이 관점이었던 것 같다.
스택으로 푸는 문제였다고 하나 아직 처음이라 그냥 Arraylist를 이용하는 것이 훨씬 편하다...안드로이드 개발을 할때 ArrayList를 참 많이 쓰는데 이게 습관이 된 것 같다.
이후에 순수배열로 다시 풀어보았다.
class Solution {
public int[] solution(int[] heights) {
int[] answer = new int[heights.length];
answer[0]=0;
for(int i=1;i<heights.length;i++){
int index=0;
for(int j=i-1;j>=0;j--){
if(heights[i]<heights[j]){
index=j+1;
break;
}
}
answer[i]=index;
}
return answer;
}
}
'Computer Engineering > 알고리즘 테스트' 카테고리의 다른 글
프로그래머스 코딩테스트 문제: K번째수 (0) | 2020.03.06 |
---|---|
프로그래머스 코딩테스트 문제: 완주하지 못한 선수 (0) | 2020.03.06 |
프로그래머스 코딩테스트 문제: 폰켓몬 (0) | 2020.03.05 |
프로그래머스 코딩테스트 문제: 제일 작은 수 제거하기 (0) | 2020.03.04 |
프로그래머스 코딩테스트 문제: 주식가격 (0) | 2020.03.04 |