[C] LV.2 주식가격

2021. 11. 10. 13:35·알고리즘/프로그래머스
728x90
 

코딩테스트 연습 - 주식가격

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00

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 index = 0;
    
    for(int i = 0; i < prices_len; i++) {
         for(int j = i; j < prices_len; j++) {
             index = j;
             if(prices[i] > prices[j]) break;
         }
        answer[i] = index - i;
    }
    return answer;
}

코드는 20분 정도 간결하게 잘 짠듯.. 궁금한게 생겼는데 변수선언을 반복문 내에 하는게 좋을까 밖에 하는게 좋을까?

 

변수를 loop 안에 or 밖에 선언하는 것이 좋을까?

C,C++ 에서 변수를 loop 안에 선언하는 것과 밖에 선언하는 것 둘의 성능상 차이는 없다. 똑똑한 현대의 컴파일러가 코드를 최적화 시켜 모두 같은 어셈블리 코드를 만들어내기 때문이다. int i = 0;

pragp.tistory.com

 

 

for문 안 변수선언은 속도에 영향이 있다 없다? : 클리앙

for (;;) { Stirng abc; abc = ... int count; count = ... . . . . } 위와 같은 경우와 Stirng abc; int count; for (;;) { abc = ... count = ... . . . . } 이렇게 선언을 for문 밖에 선언하는 것과 성능차가 있을까요 없을까요? 각

www.clien.net

신뢰할만한 글은 없지만..

참고해보면 반복문 안에 선언하는 것이 가독성에 좋은뿐, 성능간의 문제는 없다고 하는데.. 믿어도 될까?

//1.
int num;

for(...) {
	num = 1;
}

-------------

//2.
for(...) {
	int num = 1;
}

전자의 경우, 메모리 상에 계속 존재하다 함수가 종료되면 같이 종료됨. 초기화는 여러번 되지만, 선언은 한 번.

후자의 경우, 반복문의 회차마다 생성과 초기화를 하게됨. 반복문이 끝나면 사라짐.

뭔가 전자가 더 좋을 것 같은데??

 

만약 글을 보게되는 천재는 댓글을 작성해줄 것..

저작자표시 (새창열림)

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[C] LV.2 삼각 달팽이  (0) 2021.11.04
[C] LV.1 없는 숫자 더하기  (8) 2021.11.03
[C] LV.1 문자열을 정수로 바꾸기  (0) 2021.11.03
'알고리즘/프로그래머스' 카테고리의 다른 글
  • [C] LV.2 삼각 달팽이
  • [C] LV.1 없는 숫자 더하기
  • [C] LV.1 문자열을 정수로 바꾸기
기짜낭
기짜낭
생각이 많지만, 지금 내가 해야할 것을 하자.
  • 기짜낭
    So tired
    기짜낭
    • 분류 전체보기 (199)
      • 개발 (11)
        • Javascript (19)
        • Typescript (5)
        • Canvas (8)
        • React (13)
        • C (3)
      • 활동 (63)
        • 개인 프로젝트 (33)
        • 나눔 서포터즈 3기 (9)
        • 멋쟁이 사자처럼 (7)
        • 0&1 C++ 자료구조 스터디 (0)
        • 제 9회 창업 아이디어톤 (3)
        • Poom (ZeroWasteShop) (3)
        • 해커톤 (2)
        • 우테코 프리코스 7기 (6)
      • 알고리즘 (27)
        • 알고리즘 정리 (5)
        • 백준 (18)
        • 프로그래머스 (4)
      • 강연 (7)
      • 독서 (18)
      • 회고 & 생각 (16)
        • 연간회고 (4)
      • 기타 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • ※ 예전 블로그
  • 인기 글

  • 태그

    백준
    TypeScript
    1주 1권
    Javascript
    Erica
    프로그래밍
    tutorial
    디자인
    HTML5
    프로젝트
    군대
    독후감
    HTML
    한양대학교
    에리카
    대학
    독서
    개발자
    개념
    우테코
    알고리즘
    canvas
    개발
    1주에 1권씩
    CSS
    react
    프론트엔드
    타입스크립트
    ES6
    3기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
기짜낭
[C] LV.2 주식가격
상단으로

티스토리툴바