프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
<내 풀이>
function solution(heights) {
var answer = []
for(var i = heights.length - 1; i > 0; i--){
for(var j = i - 1; j>=0; j--){
if(heights[i] < heights[j]){
answer.unshift(j+1);
break;
}else if(j === 0){
answer.unshift(0);
}
}
}
answer.unshift(0);
return answer;
}
<다른 풀이>
function solution(heights) {
return heights.map((v, i) => {
while (i) {
i--;
if (heights[i] > v) {
return i + 1;
}
}
return 0;
});
}
<공부>
map() : 인자로 주어진 함수(여기선 화살표 함수)에 모든 각각의 요소를 적용한 값으로 이루어진 배열을 반환합니다
Arrow function(화살표 함수) : 화살표 함수는 항상 익명이다. 메서드 함수가 아닌 곳에서 적합하며, 그래서 생성자로 사용을 못 한다.
var add = function (a,b) {
return a+b;
};
// {} 블럭이 없는 경우(한 줄로 표현이 되는 경우)
var add = (a,b) => a+b;
// {} 블럭이 필요한 경우 --> 반드시 return 키워드를 사용해야함
var something = (a,b) => {
//do something more
return a * b;
};
반응형
'알고리즘 문제풀기 > 프로그래머스' 카테고리의 다른 글
[JavaScript] 프로그래머스 - 모의고사 (0) | 2020.05.08 |
---|---|
[JavaScript] 프로그래머스 - 위장 (0) | 2020.05.07 |
[JavaScript] 프로그래머스 - 가장 큰 수 (0) | 2020.05.07 |
[JavaScript] 프로그래머스 - K번째 수 (0) | 2020.05.06 |
[Python] 프로그래머스 - 탑 (0) | 2020.05.06 |