프로그래머스 탑

문제

1

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42588

풀이

맨 앞에 탑은 무조건 0을 넣고 그뒤에 탑은 반복문을 통해 자신보다 큰 탑이 있는지 검색하고 발견시 해당 탑의 인덱스를 푸쉬하고 반복문을 다돌았음에도 큰탑이 없다면 정답배열에 0을 푸쉬하도록 했다.

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> heights) 
{
	vector<int> answer;
	int j = 0;
	for (int i = 0; i < heights.size(); i++)
	{
		if (i == 0)
		{
			answer.push_back(0);
		}
		else
		{
			for (j = i; j > -1; j--)
			{
				if (heights[i] < heights[j])
				{
					answer.push_back(j+1);
					break;
				}
				else if (j == 0)
				{
					answer.push_back(0);
				}
			}
			
		}
	}

	return answer;
}

댓글남기기