본문 바로가기
코딩테스트/프로그래머스

[c][프로그래머스 level 2] 주식가격

by 신도리아 2022. 10. 7.

문제 출처

https://school.programmers.co.kr/learn/courses/30/parts/12081

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

소스 코드

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// prices_len은 배열 prices의 길이입니다.
int* solution(int prices[], size_t prices_len) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    int* answer = (int*)malloc(sizeof(int)*prices_len);
    int idx=0;
    for(int i=0;i<prices_len;i++){
        // 카운트 변수 선언
        int count=-1;
        // 각 인덱스 기준으로 다시 반복문
        for(int j=i;j<prices_len;j++){
            count++;
            if (prices[i] > prices[j]) break;
        }
        // 감소하는 값 기준으로 계산한 count 값을 answer 배열에 저장
        answer[idx]=count;
        idx++;
    }
    return answer;
}