SHARE
TWEET

Untitled

a guest Mar 26th, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "pch.h"
  2. #include <iostream>
  3.  
  4. int MinMovesJSH(int* students, int size)
  5. {
  6.     int downCount = 0;      // 내림차순 교체 횟수
  7.     int downChk = -1;       // 내림차순 교체할 0 위치
  8.     bool FirstZero = false; // 첫번째 0을 찾았는지
  9.    
  10.     int upCount = 0;        // 오름차순 교체 횟수
  11.     int upChk = -1;         // 오름차순 교체할 0 위치
  12.     bool LastZero = false;  // 마지막 0을 찾았는지
  13.  
  14.     for (int i = 0; i < size; i++)
  15.     {
  16.         //==== 내림차순 ====
  17.         if (students[i] == 0 && FirstZero == false)
  18.         {// 가장 앞에 위치한 0을 찾고나면 다신 if문 안으로 들어오지 않음
  19.             downChk = i;
  20.             FirstZero = true;
  21.         }
  22.         if (students[i] == 1 && FirstZero == true)
  23.         {
  24.             downCount += (i - downChk); // 1 위치와 0 위치 사이 값 만큼 교체
  25.             downChk++;  // 0위치 이동
  26.         }
  27.  
  28.         //==== 오름차순 ====
  29.         int num = size-1 - i;
  30.         if (students[num] == 0 && LastZero == false)
  31.         {// 가장 뒤에 위치한 0을 찾고나면 다신 if문 안으로 들어오지 않음
  32.             upChk = num;
  33.             LastZero = true;
  34.         }
  35.         if (students[num] == 1 && LastZero == true)
  36.         {
  37.             upCount += (upChk - num);   // 1 위치와 0 위치 사이 값 만큼 교체
  38.             upChk--;// 0위치 이동
  39.         }
  40.     }
  41.  
  42.     return (upCount < downCount) ? upCount : downCount;
  43. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top