Computer Engineering/알고리즘 테스트

프로그래머스 코딩테스트 문제: 탑

말하는호구마 2020. 2. 9. 22:20

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;
    }
}