[백준 25278] Terraforming (C#, C++) - soo:bak
작성일 :
문제 링크
설명
초기 상태에서 변화량을 적용한 뒤, 바다 9%, 산소 14%, 평균 온도 8도 이상인지 확인해 결과를 출력하는 문제입니다.
접근법
바다 비율, 산소 농도, 평균 온도의 초기값을 각각 0, 0, -30으로 설정합니다.
이후 각 변화량을 읽어 해당 값에 더한 뒤, 최종적으로 바다 9% 이상, 산소 14% 이상, 온도 8도 이상인지 검사하여 결과를 출력합니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
class Program {
static void Main() {
var n = int.Parse(Console.ReadLine()!);
var ocean = 0;
var oxygen = 0;
var temp = -30;
for (var i = 0; i < n; i++) {
var parts = Console.ReadLine()!.Split();
var kind = parts[0];
var delta = int.Parse(parts[1]);
if (kind == "ocean") ocean += delta;
else if (kind == "oxygen") oxygen += delta;
else temp += delta;
}
if (ocean >= 9 && oxygen >= 14 && temp >= 8)
Console.WriteLine("liveable");
else Console.WriteLine("not liveable");
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n; cin >> n;
int ocean = 0, oxygen = 0, temp = -30;
for (int i = 0; i < n; i++) {
string kind; int delta; cin >> kind >> delta;
if (kind == "ocean") ocean += delta;
else if (kind == "oxygen") oxygen += delta;
else temp += delta;
}
if (ocean >= 9 && oxygen >= 14 && temp >= 8)
cout << "liveable\n";
else cout << "not liveable\n";
return 0;
}