๋ฌธ์
ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ง ์์ผ๋ก ๊ฑด๋๋ ค ํฉ๋๋ค. ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์๋ด์ผ ํฉ๋๋ค. ๋ค๋ฆฌ์๋ ํธ๋ญ์ด ์ต๋ bridge_length๋ ์ฌ๋ผ๊ฐ ์ ์์ผ๋ฉฐ, ๋ค๋ฆฌ๋ weight ์ดํ๊น์ง์ ๋ฌด๊ฒ๋ฅผ ๊ฒฌ๋ ์ ์์ต๋๋ค. ๋จ, ๋ค๋ฆฌ์ ์์ ํ ์ค๋ฅด์ง ์์ ํธ๋ญ์ ๋ฌด๊ฒ๋ ๋ฌด์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํธ๋ญ 2๋๊ฐ ์ฌ๋ผ๊ฐ ์ ์๊ณ ๋ฌด๊ฒ๋ฅผ 10kg๊น์ง ๊ฒฌ๋๋ ๋ค๋ฆฌ๊ฐ ์์ต๋๋ค. ๋ฌด๊ฒ๊ฐ [7, 4, 5, 6]kg์ธ ํธ๋ญ์ด ์์๋๋ก ์ต๋จ ์๊ฐ ์์ ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ฑด๋์ผ ํฉ๋๋ค. ๊ฒฝ๊ณผ ์๊ฐ ๋ค๋ฆฌ๋ฅผ ์ง๋ ํธ๋ญ ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ํธ๋ญ ๋๊ธฐ ํธ๋ญ 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 [7] [4,5] [6] 5 [7,4] [5] [6] 6~7 [7,4,5] [6] [] 8 [7,4,5,6] [] [] ๋ฐ๋ผ์, ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ค๋ฉด ์ต์ 8์ด๊ฐ ๊ฑธ๋ฆฝ๋๋ค. solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ๋ค๋ฆฌ์ ์ฌ๋ผ๊ฐ ์ ์๋ ํธ๋ญ ์ bridge_length, ๋ค๋ฆฌ๊ฐ ๊ฒฌ๋ ์ ์๋ ๋ฌด๊ฒ weight, ํธ๋ญ ๋ณ ๋ฌด๊ฒ truck_weights๊ฐ ์ฃผ์ด์ง๋๋ค. ์ด๋ ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ ์กฐ๊ฑด bridge_length๋ 1 ์ด์ 10,000 ์ดํ์ ๋๋ค. weight๋ 1 ์ด์ 10,000 ์ดํ์ ๋๋ค. truck_weights์ ๊ธธ์ด๋ 1 ์ด์ 10,000 ์ดํ์ ๋๋ค. ๋ชจ๋ ํธ๋ญ์ ๋ฌด๊ฒ๋ 1 ์ด์ weight ์ดํ์ ๋๋ค. ์ ์ถ๋ ฅ ์ bridge_length weight truck_weights return 2 10 [7,4,5,6] 8 100 100 [10] 101 100 100 [10,10,10,10,10,10,10,10,10,10] 110 ์ถ์ฒ โป ๊ณต์ง - 2020๋ 4์ 06์ผ ํ ์คํธ์ผ์ด์ค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
ํ์ด
#include <string>
#include <vector>
#include <deque>
using namespace std;
int solution(int bridge_length, int weight, vector<int> truck_weights) {
int answer = 0;
deque<int>d(bridge_length, 0);
int sum = 0;
int i = 0;
while(i < truck_weights.size()) {
int cur = truck_weights[i];
answer++;
sum -= d.front();
d.pop_front();
if(sum+cur <= weight) {
d.push_back(cur);
sum += cur;
i++;
} else {
d.push_back(0);
}
}
while(sum > 0) {
answer++;
sum -= d.front();
d.pop_front();
}
return answer;
}
'๐ Cpp > [ํ๋ก๊ทธ๋๋จธ์ค] ๊ณ ๋์ Kit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๋ชจ์๊ณ ์ฌ (level1) (2) | 2025.01.05 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ์ต์์ง์ฌ๊ฐํ (level1) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๊ฐ์ ์ซ์๋ ์ซ์ด (level1) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ์์ฃผํ์ง ๋ชปํ ์ ์ (level1) (1) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ํฐ์ผ๋ชฌ (level1) (0) | 2024.12.20 |