|| 코드 ||
[2020.07.27] 실패
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// heights_len은 배열 heights의 길이입니다.
int* solution(int heights[], size_t heights_len) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int chk[105] = {0};
int* answer = (int*)malloc(sizeof(int) * heights_len);
for (int i=heights_len-1; i>0; i--) {
int p = 0;
answer[i] = 0;
for(int j=i-1; j>=0; j--) {
if (chk[j]) p++;
if (heights[i] <= heights[j] && !chk[j]) {
answer[i] = j+1+p;
chk[j] = 1;
break;
}
}
}
return answer;
}
- 문제이해 부족
[2020.07.28] 성공
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int* solution(int heights[], size_t heights_len) {
int* answer = (int*)malloc(sizeof(int) * heights_len);
for (int i=heights_len-1; i>0; i--) {
answer[i] = 0;
for(int j=i-1; j>=0; j--) {
if (heights[i] < heights[j]) {
answer[i] = j+1;
break;
}
}
}
answer[0] = 0;
return answer;
}
프로그래머스 문제 실종....