inblog logo
|
LHS's Study Space
    알고리즘문제풀기C#

    [알고리즘 문제 풀기] When Can We Meet?(22810)

    C#
    lhs's avatar
    lhs
    May 20, 2025
    [알고리즘 문제 풀기] When Can We Meet?(22810)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드 3. 정리
    www.acmicpc.net
    https://www.acmicpc.net/problem/22810
    notion image

    1. 문제 풀이 아이디어

    • 배열에 등장한 횟수를 저장하며 제일 자주 등장한 값을 갱신하여 문제를 해결할 수 있다.

    2. 나의 정답 코드

    using System.Text; StringBuilder sb = new StringBuilder(); using (StreamReader sr = new StreamReader(Console.OpenStandardInput())) using (StreamWriter sw = new StreamWriter(Console.OpenStandardOutput())) { while (true) { int[] input = Array.ConvertAll(sr.ReadLine().Split(), int.Parse); int n = input[0]; int m = input[1]; int[] d = new int[100]; int result = 100; if (n == 0) break; while (n-- > 0) { input = Array.ConvertAll(sr.ReadLine().Split(), int.Parse); for (int i = 1; i < input.Length; i++) { d[input[i]]++; if (d[input[i]] > m || (d[input[i]] == m && input[i] < result)) { m = d[input[i]]; result = input[i]; } } } sb.AppendLine(result < 100 ? result.ToString() : "0"); } sw.Write(sb); }

    3. 정리

    • 입력을 처리하며 등장 횟수가 m보다 크거나, 같으면서 번호가 더 작다면 해당 번호를 result에 저장한다.
    • 최종적으로 가장 많이 선택된 번호를 출력하되 없을 경우 0을 출력해 문제를 해결한다.
    Share article
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드 3. 정리

    LHS's Study Space

    RSS·Powered by Inblog