히히
1206. View 본문
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh
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 | #include <iostream> #include <algorithm> #include <vector> using namespace std; int building[1000]; int ans[1000]; int main() { for (int test_case = 1; test_case <= 10; ++test_case) { int row; cin >> row; for (int i = 0; i < row; i++) { cin >> building[i]; } int real_ans = 0; for (int i = 2; i < row - 2; i++) { int temp = 0; if (building[i - 2] >= building[i] || building[i - 1] >= building[i] || building[i + 1] >= building[i] || building[i + 2] >= building[i]) { continue; } else { int temp1 = max(building[i - 2], building[i - 1]); int temp2 = max(building[i + 1], building[i + 2]); if (temp1 > temp2) temp = temp1; else if (temp1 == temp2) temp = temp1; else { temp = temp2; } //ans[i] = temp; } //if (ans[i] != 0) { //temp = building[i] - ans[i]; //} real_ans += (building[i] - temp); //real_ans += temp; } cout << "#" << test_case << " " << real_ans << endl; } } | cs |
ㅋㅋㅋ 벡터 써보려고 안간힘을 썼지만 멍청해서 못 씀 ㅠㅠ
테케 10개중에 자꾸 9개만 맞아서 fail 떠서 진짜 다 부술 뻔 했다.
그것두 마지막 테케가 틀린게 아니고 7번째 테케만 틀려서 대체 왜인가 싶었다.
주변 4개 건물 높이를 비교해서 그 중 최대값을 기준값에서 빼줬는데, 처음에 최대값을 저장하는 배열을 만들었다.
초기화를 0으로 해줘서, 0이 아닌 값이 들어가 있는(최대값) 배열의 값을 빼주는 식으로 코드를 짰는데..
계속 테케 하나만 틀리니까.. 후
검색해서 다른 사람들 코드 좀 봤는데 배열 그냥 하나만 쓰길래 나도 걍 바로 해줬더니 됐다...
왜일까 ㅠㅠㅠㅠㅠ 무슨 차이일까.. 나는 왜 못 찾는걸까 ㅠㅠ힝
'study > SWEP' 카테고리의 다른 글
4406. 모음이 보이지 않는 사람 (0) | 2018.11.20 |
---|---|
5789. 현주의 상자 바꾸기 (0) | 2018.11.19 |
5549. 홀수일까 짝수일까 (0) | 2018.11.19 |
4299. 태혁이의 사랑은 타이밍 (0) | 2018.11.19 |
5431. 민석이의 과제 체크 (0) | 2018.11.18 |
Comments