본문 바로가기
SWE/코테

[SW Expert Academy] '2' #1206 View *

by S나라라2 2019. 3. 6.
반응형

흐하 ㅠ 처음으로 맥북으로 풀어봤다!!! 맥북에서는 Visual Studio가 지원 안된다는 사실을 처음 알았음,,,,

Xcode로 푸는데 


 

//
//  main.cpp
//  Algorithms
//
//  Created by 백화영 on 06/03/2019.
//  Copyright © 2019 백화영. All rights reserved.
//

// #1206 View

#include < iostream >

using namespace std;

int main(void) {
    
    for(int tc=1; tc<=10; tc++){
        
        int numOfBuilding;  // 빌딩의 수
        
        int b1=0,b2=1,b3=2;  // index
        int b[3]={0,};  // building의 높이
        int av[3]={0,}; // 조망권 확보된 세대 수
        
        int answer =0;  // 전체 sum
    
        cin>>numOfBuilding;
        cin>>b[b1]>>b[b2];  // 앞에 2개 0
        
        cin>>b[b1]>>b[b2];
        if(b[b1] > b[b2]){
            av[b1]=b[b1]-b[b2];
            av[b2]=0;
        }else if(b[b1] < b[b2]){
            av[b1]= 0;
            av[b2]= b[b2]-b[b1];
        }else{ // b[b1] = b[b2]
            av[b1]=0;
            av[b2]=0;
        }
        
        // 입력 & 연산
        for(int i=0; i < numOfBuilding-4; i++){ // 앞 뒤 2개 0 제외하기위해서 -4
            cin>>b[b3];
            
            // b1
            if(b[b1]<=b[b3]){
                av[b1] = 0;
                av[b3] = b[b3]-b[b1];
            }else{  // b[b1] > b[b3]
                if( (b[b1]-av[b1]) < b[b3] ){
                    av[b1] = b[b1]-b[b3];
                }
                av[b3]=0;
            }
            
            // b2
            if(b[b2]<=b[b3]){
                av[b2] = 0;
                if( (b[b3]-av[b3]) <= b[b2] ){
                    av[b3] = b[b3]-b[b2];
                }
            }else{  // b[b2] > b[b3]
                if( (b[b2]-av[b2]) < b[b3] ){
                    av[b2] = b[b2]-b[b3];
                }
                av[b3]=0;
            }
            
            
            // sum
            answer += av[b1];
            
            // index
            b1 = (b1+1)%3;
            b2 = (b2+1)%3;
            b3 = (b3+1)%3;
        }
        
        cout << '#' << tc << ' ' << answer << endl;
    }
    return 0;
}

반응형