알고리즘 풀이

[C#] 백준 1475번 문제풀이

bimtaeur30 2026. 1. 14. 20:54

문제번호: 1475

문제명: 방 번호

문제링크: https://www.acmicpc.net/problem/1475

문제내용과 예제 입/출력은 위 문제 링크에서 확인해 주시기 바랍니다.

 

해당 문제는 숫자판 세트(구성물 1~9까지 1개씩)를 몇개 소비하여 방 번호를 완성시킬 수 잇는가를 구하는 문제입니다.

문제핵심개념은 아스키를 이용한 char -> int 변환, 올림(내림), 배열에서 Max를 사용한 최댓값 갱신정도가 있을 것 같네요.

다음은 정답코드입니다.

 

public static void Main()
{
    StreamReader sr = new StreamReader(Console.OpenStandardInput());
    StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());

    Console.WriteLine(CalculateSetCount(sr.ReadLine()));

    static int CalculateSetCount(string roomNumber)
    {
        int[] numbers = new int[10];
        foreach(var num in roomNumber)
        {
            numbers[num - '0']++;
        }

        int sixnine = numbers[6] + numbers[9];
        int max = (sixnine + 1) / 2;


        for (int i = 0; i < numbers.Length; i++)
        {
            if (i == 6 || i == 9)
            {
                continue;
            }
            max = Math.Max(max, numbers[i]);
        }

        return max;
    }
    
    sr.Close();
    sw.Close();
}

'알고리즘 풀이' 카테고리의 다른 글

[C#] 백준 1789번 문제풀이  (0) 2026.01.16
[C#] 백준 24313번 문제풀이  (0) 2026.01.15
[C#] 백준 25206번 문제풀이  (0) 2026.01.13
[C#] 백준 15649번 문제풀이  (0) 2026.01.11
[C#] 백준 1927번 문제풀이  (0) 2026.01.10