수열정렬

https://www.acmicpc.net/problem/1015

풀이

  • 어려웠음

  • i 번째 값과

  • j 번쨰 (0번째 ~ i-1번째) 값을 비교하여

  • 큰 값의 index (i or j) 에 해당하는 위치의 배열 값을 ++

  • 쉽게 생각해서,

  • a배열의 값들이 동일선상에 위치하는데,

  • 비내림차순으로 정렬하기 위해 몇 번씩 뒤로 이동시켜야 하는지 카운트

  • ex)

      B[p[0]] = A[0] = 7 <-
    

    ​ B[p[1]] = A[1] = 4 <-
    ​ B[p[2]] = A[2] = 2 <-
    ​ B[p[3]] = A[3] = 3 <- 기준
    ​ B[p[4]] = A[4] = 9
    ​ B[p[5]] = A[5] = 10

      3을 기준으로 7, 4, 2 와 비교
      
      3과 7 => 7이 더 크다 => 7은 한 번뒤로 가야함 => B의 index 값 증가
      3과 4 => 4가 더 큼 => 4는 한 번뒤로 가야함 => B의 index 값 증가
      3과 2 => 3이 더 큼 => 3은 한 번뒤로 가야함 => B의 index 값 증가
    

Comments