• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

36강 밑에 분과 비슷한 질문

20.11.06 22:26 작성 조회수 125

0

선생님 안녕하세요 열심히 듣고있습니다

저 또한 작은숫자부터 처리했으며 컴퓨터에서 빌드가 되지 않아 결과는 확인해보지 못했습니다

이 코드를 짜면서 생각을 많이 해본다고 했는데 '삽입정렬'의 활용을 전혀 하지 못한것 같습니다

알고리즘 공부할때마다 응용이 되지 않고 기존 머리로 수학문제 풀듯이 접근하는 버릇으로 발전이 없는것 같습니다..

어디부터 손봐야할지 조언좀 부탁드립니다 ㅠㅠ

#include <stdio.h>
#include <vector>
#include <algorithm>

int main(){
    int n,i,j,idx,tmp,cnt;
    int a[100];
    // scanf("%d",&n);
    // for(i=0;i<n;i++){
    //     scanf("%d",a[i]);
    // }
    n = 8;
    a[0]=5;
    a[1]=3;
    a[2]=4;
    a[3]=0;
    a[4]=0;
    a[5]=2;
    a[6]=1;
    a[7]=1;
    a[8]=0;

    for(i=1;i<=n;i++){
        tmp=i;
        cnt=0;
        for(j=idx;j>=0;j--){
            if(a[j]<tmp) cnt++; 
        }
        for(j=(idx+cnt);j<n;j++){
            if(a[j]<tmp) cnt++;
        }
        a[idx+cnt]=tmp;
    }

    for(i=0;i<n;i++){
        printf("%d",a[i]);
    }

    return 0;
}

답변 1

답변을 작성해보세요.

2

안녕하세요^^

너무 걱정하시 마세요. 일단 문제를 만나면 스스로 풀어볼려고 노력하시고, 그 다음 영상을 보고 본인의 코드를 리뷰해보세요.

그렇게 하다보면 점점 좋을 코드를 짜게 될 것입니다. 하루아침에 되지는 않으니 인내력을 가지고 천천히 해보세요.