danbibibi
article thumbnail

1. 문제

문제 바로가기> BOJ 2304번: 창고 다각형

 

2304번: 창고 다각형

첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의

www.acmicpc.net

 

2. 풀이

L이 최대 1000이므로, brute-force 방식으로 문제를 쉽게 해결할 수 있다 !

<cpp />
#include<iostream> #include<algorithm> #define MAX 1001 using namespace std; int N, L, H; int pillars[MAX]; int maxVal, maxIdx; void input(){ cin >> N; for (int i = 0; i < N; i++){ cin >> L >> H; pillars[L] = H; if(maxVal < pillars[L]){ maxIdx = L; maxVal = H; } } } void solution(){ int ans=maxVal, h = 0; // left for (int i = 1; i < maxIdx; i++){ h = max(h, pillars[i]); ans += h; } // right h = 0; for (int i = MAX - 1; i > maxIdx; i--){ h = max(h, pillars[i]); ans += h; } cout << ans; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); input(); solution(); }

'문제 풀이 > 백준' 카테고리의 다른 글

BOJ 1079번: 쇠막대기  (0) 2023.12.15
BOJ 9047번: 6174  (0) 2023.12.11
BOJ 17485번: 진우의 달 여행 (Large)  (0) 2023.09.04
BOJ 2230번: 수 고르기  (0) 2023.09.03
BOJ 16928번: 뱀과 사다리 게임  (0) 2023.08.29
profile

danbibibi

@danbibibi

꿈을 꾸는 시간은 멈춰 있는 것이 아냐 두려워하지 마 멈추지 마 푸른 꿈속으로