[백준 22966] 가장 쉬운 문제를 찾는 문제 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
N개의 문제가 주어집니다. 각 문제는 제목과 난이도로 구성되며, 난이도는 1부터 5까지의 정수입니다. 수치가 작을수록 쉬운 문제입니다.
가장 쉬운 문제의 제목을 출력하는 문제입니다.
접근법
N개의 문제를 순회하며 가장 낮은 난이도를 가진 문제를 찾습니다.
최소 난이도와 해당 문제의 제목을 저장하며, 더 낮은 난이도를 만나면 갱신합니다.
예를 들어 문제들의 난이도가 3, 1, 2라면, 첫 번째 문제(3)를 저장한 후 두 번째 문제(1)에서 갱신하고, 세 번째 문제(2)는 갱신하지 않습니다.
모든 문제를 확인한 후 저장된 제목을 출력합니다.
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
24
using System;
namespace Solution {
class Program {
static void Main(string[] args) {
var n = int.Parse(Console.ReadLine()!);
var answerTitle = "";
var minDifficulty = int.MaxValue;
for (var i = 0; i < n; i++) {
var tokens = Console.ReadLine()!.Split();
var title = tokens[0];
var difficulty = int.Parse(tokens[1]);
if (difficulty < minDifficulty) {
minDifficulty = difficulty;
answerTitle = title;
}
}
Console.WriteLine(answerTitle);
}
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n; cin >> n;
string answer;
int minDiff = INT_MAX;
while (n--) {
string title; int difficulty; cin >> title >> difficulty;
if (difficulty < minDiff) {
minDiff = difficulty;
answer = title;
}
}
cout << answer << "\n";
return 0;
}