최대 1 분 소요

part28. 주식가격

js ver 1.0

function solution(keymap, targets) {
	const result = Array(prices.length).fill(0);
	const stack = [];

	for (let i = prices.length - 1; i >= 0; i--) {
		while (stack.length > 0 && prices[i] <= prices[stack[stack.length - 1]]) {
			stack.pop();
		}

		result[i] = stack.length > 0 ? stack[stack.length - 1] - i : prices.length - 1 - i;
		stack.push(i);
	}

	return result;
}


실행결과_js ver 1.0


js ver 1.1

function solution(keymap, targets) {
	const arr = Array(prices.length).fill(0);

	for (let i = 0; i < prices.length; i++) {
		let cnt = 0;

		for (let j = i + 1; j < prices.length; j++) {
			cnt++;

			if(prices[i] > prices[j]){
				break;
			}
		}

		arr[i] = cnt;
	}

	return arr;
}


실행결과_js ver 1.1


js ver 1.2

function solution(keymap, targets) {
	return prices.map((el, idx) =>{
		let cnt = 0;

		for (let i = idx + 1; i < prices.length; i++) {
			cnt++;

			if(el > prices[i]){
				break;
			}
		}

		return cnt;
	});
}


실행결과_js ver 1.2


업데이트: