반응형

1. 문제

- [백준 C#] 2480번 주사위 세개
// https://www.acmicpc.net/problem/2480

 

 

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 

같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 
같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 
모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.  
예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.

3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.

 

 

2. 문제 포인트

  • 3개의 수를 입력 받는다
  • 3개의 수를 오름 차순 정렬한다
  • 1,2번째 수를 비교, 2,3번째 수를 비교해서 같은 숫자가 몇개 있는지 확인한다.

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B4_02480번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int[] num = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);

            // 입력받은 배열 num을 오름차순 정렬
            Array.Sort(num);

            if (num[0] == num[1] && num[1] == num[2])
            {
                Console.WriteLine(10000 + (num[0]*1000));
            }
            else if (num[0] == num[1] || num[1] == num[2])
            {
                // 꼭 가운데 값인 num[1]을 곱해야 한다.
                // ex. 1, 1, 2 / 1, 2, 2  두 경우 모두 가운데 수가 앞 또는 뒷 숫자와 일치
                // 1번째 3번째 숫자는 일치 할 수 없음
                //// 오름차순 정렬이기에 불가 (1. 3번만 같고 2번이 다를 수 있는 경우 없음)
                //// 세가지 숫자가 같아야 하는데 위의 if문에서 걸러지기에 무관
                Console.WriteLine(1000 + (num[1] * 100));
            }
            else
            {
                // 오름차순 정렬을 했기에 num[2]가 가장 큰 수
                Console.WriteLine(num[2] * 100);
            }
        }
    }
}

// 2480번 주사위 세개
// https://www.acmicpc.net/problem/2480
반응형
반응형

1. 문제

- [백준 C#] 1330번 두 수 비교하기
// https://www.acmicpc.net/problem/1330

 

 

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

 

2. 문제 포인트

  • 두 수를 입력 받는다
  • 비교하여 출력한다

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_01330번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int[] in_data = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);

            // 앞수가 큰 경우
            if (in_data[0] > in_data[1])
            {
                Console.WriteLine(">");
            }
            // 뒷쪽 숫자가 큰 경우
            else if (in_data[0] < in_data[1])
            {
                Console.WriteLine("<");
            }
            // 둘다 해당되지 않는 두 수가 같을 경우
            else
            {
                Console.WriteLine("==");
            }
        }
    }
}

// 1330번 두 수 비교하기
// https://www.acmicpc.net/problem/1330
반응형
반응형

1. 문제

- [백준 C#] 2753번 윤년
// https://www.acmicpc.net/problem/2753

 

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

 

2. 문제 포인트

  • 년도 입력 받기
  • 4의 배수면서 400의 배수는 윤년
  • 4의 배수면서 100의 배수는 윤년 아님
  • 4의 배수면서 100의 배수가 아니면 윤년

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_02753번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int year = int.Parse(Console.ReadLine());

            // 4로 안나눠지면 윤년이 아님
            if (year % 4 == 0)
            {
                // 400으로 나눠지면 윤년
                if (year % 400 == 0)
                {
                    Console.WriteLine("1");
                }

                // 400으로 안나눠지고 100으로만 나눠지면 윤년 아님
                else if (year % 100 == 0)
                {
                    Console.WriteLine("0");
                }
                // 100, 400으로 나눠지지 않고 4로만 나눠지면 윤년 
                else
                {
                    Console.WriteLine("1");
                }
            }
            else
            {
                Console.WriteLine("0");
            }
        }
    }
}

// 2753번 윤년
// https://www.acmicpc.net/problem/2753
반응형
반응형

1. 문제

- [백준 C#] 9498번 시험 성적  (https://www.acmicpc.net/problem/9498)

 

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 점수 입력 받기
  • 각 구간별 글자 출력

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_09498번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int score = int.Parse(Console.ReadLine());

            if (score >= 90)
            {
                Console.WriteLine("A");
            }
            else if (score >= 80)
            {
                Console.WriteLine("B");
            }
            else if (score >= 70)
            {
                Console.WriteLine("C");
            }
            else if (score >= 60)
            {
                Console.WriteLine("D");
            }
            else
            {
                Console.WriteLine("F");
            }
        }
    }
}

// 9498번 시험 성적
// https://www.acmicpc.net/problem/9498
반응형
반응형

1. 문제

- [백준 C#] 14681번 사분면 고르기  (https://www.acmicpc.net/problem/14681)

 

흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.

예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.

점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.

 

 

2. 문제 포인트

  • 두 숫자 입력
  • 각각 숫자가 음수인지 양수인지 구분
  • 사분면 번호 출력

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_14681번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int x = int.Parse(Console.ReadLine());
            int y = int.Parse(Console.ReadLine());

            if (x > 0 && y >0)
            {
                Console.WriteLine("1");
            }
            else if (x > 0 && y < 0)
            {
                Console.WriteLine("4");
            }
            else if (x < 0 && y > 0)
            {
                Console.WriteLine("2");
            }
            else
            {
                Console.WriteLine("3");
            }
        }
    }
}

// 14681번 사분면 고르기
// https://www.acmicpc.net/problem/14681
반응형
반응형

1. 문제

- [백준 C# 기초] 2588번 곱셈  (https://www.acmicpc.net/problem/2588)

 

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 숫자 2가지 입력 받기
  • 일의 자리 곱, 십의 자리 곱, 백의 자리 곱 값을 각각 출력
  • 최종 계산값 출력

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B3_02588번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int a = int.Parse(Console.ReadLine());
            string b = Console.ReadLine();

            // int.Parse(b[0].ToString())을 사용하는 이유
            // int.Parse()는 string을 int로 변환 가능
            // string을 자르면 char형식이됨 (ex. b[0]는 string이 아닌 char이 된다)
            // b[0].ToString()으로 string으로 변환한 다음 int.Parse()로 변환
            Console.WriteLine(a * int.Parse(b[2].ToString()));
            Console.WriteLine(a * int.Parse(b[1].ToString()));
            Console.WriteLine(a * int.Parse(b[0].ToString()));
            Console.WriteLine(a * int.Parse(b));
        }
    }
}

// 2588번 곱셈
// https://www.acmicpc.net/problem/2588
반응형
반응형

1. 문제

- [백준 C# 기초] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰  (https://www.acmicpc.net/problem/3003)

 

동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다.

체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다.
체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다.
동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 기준 개수 {1, 1, 2, 2, 2, 8}
  • 입력받은 값과 기준 개수 비교하여 차이 출력

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_03003번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string[] in_data = Console.ReadLine().Split();

            // string 배열로 되어있는 입력값을 int형식으로 전체 변환
            int[] in_data_int = Array.ConvertAll(in_data, int.Parse);

            // 문제에서 제시된 각 말의 기본 개수
            int[] st = { 1, 1, 2, 2, 2, 8 };

            int[] result = new int[6];

            // 각 대응되는 값끼리 계산하여 부족여부 확인
            for(int i = 0; i < 6; i++)
            {
                result[i] = st[i] - in_data_int[i]; 
            }

            Console.WriteLine(string.Join(" ", result));
        }
    }
}

// 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰
// https://www.acmicpc.net/problem/3003
반응형
반응형

1. 문제

- [백준 C# 기초] 10171번 고양이 (https://www.acmicpc.net/problem/10171)

 

아래 예제와 같이 고양이를 출력하시오.
\    /\
 )  ( ')
(  /  )
 \(__)|

 

 

2. 문제 포인트

  • 콘솔창에 고양이 그림 출력

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_10171번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 한줄씩 잘라서 표현
            // 역슬래시(\)는 2개를 붙여쓰면 특수기능이 아닌 문자 자체로 들어간다
            Console.WriteLine("\\    /\\");
            Console.WriteLine(" )  ( ')");
            Console.WriteLine("(  /  )");
            Console.WriteLine(" \\(__)|");
        }
    }
}

// 10171번 고양이
// https://www.acmicpc.net/problem/10171
반응형

+ Recent posts