코딩테스트 (C#)

백준 3003 : 킹, 퀸, 룩, 비숍, 나이트, 폰 - C# 풀이

UniCoti-sub 2024. 11. 3.
반응형

문제 사진

 

이번 문제도 간단하다. 체스 기물 수가 맞는지 확인하고, 몇 개가 더 부족하거나 넘치는지 출력하면 된다.

"부족하거나 넘치는지"는 숫자로 표현하면 되는데, 규칙성을 찾아보면 (원래 기물 수 - 입력)이다.

이걸 for문으로 돌아가면서 배열에 저장한 다음 출력해주면 될 것 같다.

 

using System;

namespace unicoti {
    class Program {
        static void Main(string[] args) {
            string[] input = (Console.ReadLine()??"").Split(' ');
            int[] array = Array.ConvertAll(input, int.Parse);

            for(int i = 0; i < array.Length; i++) {
                if(i == 0 || i == 1) {
                    array[i] = 1 - array[i];
                } else if(i >= 2 && i <= 4) {
                    array[i] = 2 - array[i];
                } else {
                    array[i] = 8 - array[i];
                }
            }

            for(int j = 0; j < array.Length; j++) {
                Console.Write($"{array[j]} ");
            }
        }
    }
}

 

이 정도로 마무리했다.

일단 위에서 적은 대로 배열을 정수형으로 바꿔주고 곧바로 for문을 사용했다.

i의 값에 따라서 일반화할 수 있는 범위에 맞춰서 (원래 기물 수 - 입력 기물 수)를 저장했고,

한번 더 for문으로 출력하여 문제를 끝냈다.

if문 안에서 숫자만 결정하고 계산은 나중에 했어도 좋을 것 같다는 생각이 든다.


오늘의 느낀점)

ConverAll을 자꾸 까먹어서 ai에게 물어보게 되는 것 같다.

어차피 구글링이 필수적이라 찾아보면 되는 문제 이긴 하다만

그래도 계속 알아보기엔 좀 그러니까 외워놓을까 싶다.

그 정도 느낀 점이 있는 것 같다.


이상으로 도움이 되었길 바라며,

 

끝.

반응형

댓글