[BAEKJOON] 백준 16316: Baby Bites (C#)

2024. 10. 29. 16:55IT/BaekJoon

문제 링크

https://www.acmicpc.net/problem/16316

 

 

문제

Arild just turned 1 year old, and is currently learning how to count. His favorite thing to count is how many mouthfuls he has in a meal: every time he gets a bite, he will count it by saying the number out loud.

Unfortunately, talking while having a mouthful sometimes causes Arild to mumble incomprehensibly, making it hard to know how far he has counted. Sometimes you even suspect he loses his count! You decide to write a program to determine whether Arild’s counting makes sense or not.

 

 

입력

The first line of input contains an integer n (1 ≤ n ≤ 1 000), the number of bites Arild receives. Then second line contains n space-separated words spoken by Arild, the i’th of which is either a non-negative integer ai (0 ≤ ai ≤ 10 000) or the string “mumble”.

 

 

출력

If Arild’s counting might make sense, print the string “makes sense”. Otherwise, print the string “something is fishy”.

 

 

 

통과한 답안

namespace _16316
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            string[] inputs = Console.ReadLine().Split(' ');

            for (int i = 0; i < n; i++)
            {
                if (int.TryParse(inputs[i], out int now))
                {
                    if (i + 1 != now)
                    {
                        Console.WriteLine("something is fishy");
                        return;
                    }
                }
            }

            Console.WriteLine("makes sense");
        }
    }
}

 

입력값 n이 주어지고, 1부터 n까지 숫자를 세는 경우에 숫자를 정확하게 셌는지 확인하는 문제이다.

단, 숫자가 아닌 mumble이 있는 경우가 있는데, 이는 무시하고 진행한다.

 

이 문제를 풀기 위해서 int.TryParse 기능을 사용하였는데,

해당하는 값이 숫자라면 변환하고, 숫자가 아니라면 넘어가는 기능이다.

이 기능을 사용하여 숫자로 변환된 값이 현재 세는 숫자와 일치하는지 확인하도록 구현하였다.