https://swexpertacademy.com/main/code/problem/problemDetail.do
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | #include<iostream> #include<vector> using namespace std; int main(int argc, char** argv) { int test_case; //int T; /* 아래의 freopen 함수는 input.txt 를 read only 형식으로 연 후, 앞으로 표준 입력(키보드) 대신 input.txt 파일로부터 읽어오겠다는 의미의 코드입니다. //여러분이 작성한 코드를 테스트 할 때, 편의를 위해서 input.txt에 입력을 저장한 후, freopen 함수를 이용하면 이후 cin 을 수행할 때 표준 입력 대신 파일로부터 입력을 받아올 수 있습니다. 따라서 테스트를 수행할 때에는 아래 주석을 지우고 이 함수를 사용하셔도 좋습니다. freopen 함수를 사용하기 위해서는 #include <cstdio>, 혹은 #include <stdio.h> 가 필요합니다. 단, 채점을 위해 코드를 제출하실 때에는 반드시 freopen 함수를 지우거나 주석 처리 하셔야 합니다. */ //freopen("input.txt", "r", stdin); //cin >> T; /* 여러 개의 테스트 케이스가 주어지므로, 각각을 처리합니다. */ vector<int> bulidings; for (test_case = 1; test_case <= 10; ++test_case) { ///////////////////////////////////////////////////////////////////////////////////////////// bulidings.clear(); int N; // 건물의 개수 cin >> N; int result = 0; for (int i = 0; i < N; i++) { int height; cin >> height; bulidings.push_back(height); } for (int i = 2; i < N - 2; i++) { int standard = 0; // 조망권을 체크하는 빌딩 int maxHeight = 0; // 빌딩 주변(-2 ~ +2)에서 가장 높은 빌딩 for (int j = -2; j <= 2; j++) { if (j == 0) { standard = bulidings[i]; continue; } if (bulidings[i + j] > maxHeight) { maxHeight = bulidings[i + j]; } } if (maxHeight < standard) result += (standard - maxHeight); } cout << '#' << test_case << " " << result << "\n"; ///////////////////////////////////////////////////////////////////////////////////////////// } return 0;//정상종료시 반드시 0을 리턴해야합니다. } //문제 보고 처음에 어떡하지? 했는데 //나름 잘 풀어낸 듯 하다. //구현하면서 뇌 빼고 코드 작성하지 말고 생각하면서 하기! | cs |
'알고리즘 > SW Expert Academy' 카테고리의 다른 글
[SWEA] 2001. 파리 퇴치 (D2) / C++ (1) | 2023.11.09 |
---|---|
[SWEA] 1959. 두 개의 숫자열 (D2) / C++ (5) | 2023.11.08 |
[SWEA] 5215. 햄버거 다이어트 (D3) / C++ (0) | 2023.11.07 |
[SWEA] 1859. 백만장자 프로젝트 (D2) / C++ (0) | 2023.11.01 |
[SWEA] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기(D2) / C++ (0) | 2023.11.01 |