백준

백준 10809번 c#

대왕군 2024. 1. 11. 18:39

 

using System;

namespace Baekjoon
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //아스키코드를 이용하여 문제를 해결할 거임
            //a는 97이고 z는 122임
            string input = Console.ReadLine();
            //결과를 담을 변수
            string result = "";

            //a~z까지의 알파벳이 특정 알파벳과 일치하는지 여부
            //알파벳 대조 모두 실패했다고 가정하고 초기값 true
            bool isAllFail = true;

            //a~z의 아스키코드 번호만큼 반복
            for (int i = 97; i <= 122; i++)
            {
                //내가 쓴 단어만큼 반복
                for (int k = 0; k < input.Length; k++)
                {
                    //내가 쓴 단어를 하나씩 분리해서 아스키코드로 변환 후 a~z의 아스키코드와 비교
                    //Convert.ToInt32(input[k]) 대신에 (int)input[k]를 써도 됨
                    if (i != Convert.ToInt32(input[k]))
                    {
                        //만약 일치하지 않는다면 이번 반복문 건너뜀
                        continue;
                    }
                    //일치했을 때
                    else
                    {
                        //모든 알파벳 대조가 실패했는지 여부를 false로 바꿔줌
                        isAllFail = false;
                        //결과 변수에 내 단어에 있는 알파벳 위치 추가해줌
                        result += k + " ";
                        break;
                    }
                }
                //알파벳 대조가 모두 실패했을때
                if (isAllFail == true)
                {
                    //결과변수에 -1 추가
                    result += -1 + " ";
                }
                //알파벳 대조 변수 다시 true로 초기화
                isAllFail = true;
            }
            //결과 출력
            Console.WriteLine(result);

        }
    }
}

'백준' 카테고리의 다른 글

백준 1152번 c#  (0) 2024.01.12
백준 2675번 c#  (0) 2024.01.12
백준 11720번 c#  (0) 2024.01.11
백준 11654번 c#  (0) 2024.01.11
백준 9086번 c#  (0) 2024.01.10