38강 ~ 39강

원래벌레·2022년 4월 10일
0

38강


접근법 :

  • 삽입 정렬의 개념을 활용한 문제였다.

  • 이 문제에서의 핵심은 큰 수부터 정렬 한다는 점이다.

  • i라는 변수는 1 ~ n 까지 사이의 수를 돌면서 앞에 자신보다 큰 수가 몇개 있는지를 입력 받는다.

  • 자신보다 큰 수가 앞에 몇개 있냐는 소리는 결국엔 현재 인덱스에서 몇칸을 앞으로 땡기고 수를 넣냐와 같은 이야기이다.

  • 그래서 for문을 for(i=n;i>=1;i--) 로 잡고
    그안에 for문은 for(j=1;j<=v[i];j++) 로 잡고
    j for문 안에는,
    position = i;
    a[position] = a[position+1];
    position++;
    라고 적어준다.

39강


접근법 :

  • merge를 하는 문제였다.

  • 나는 여기서 vector.empty() 를 사용하여 문제를 풀었는데, 강사님은 p1,p2,p3라는 입력배열 a, b 그리고 결과 배열 c의 현재 가리키고 있는 인덱스 값을 가리키는 변수를 만들어 사용하셨다.

  • 논리는 같았다.
    p1, p2 가 각각 n보다 크지않고 m 보다 크지 않을때, 두 개의 p1 p2 인덱스에 해당하는 값을 비교하여 더 작은 값을 c에 추가하고, 추가 한쪽의 p1,p2 를 ++ 해준다.
    그리고 while문을 빠져 나오게 되면 한 쪽이 아직 값이 남아 있을 수도 있기 때문에 while문 밖에서 while문 두개를 만들어서 p1,p2와 m과n을 비교 해본다.

profile
학습한 내용을 담은 블로그 입니다.

0개의 댓글