반응형

1. 문제

- [백준 C#] 10952번 A+B - 5
// https://www.acmicpc.net/problem/10952

 

 

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

2. 문제 포인트

  • 두 수를 입력받아 더한 값을 출력한다
  • 아무런 값 입력이 없으면 종료한다

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_10952번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                int[] num = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                
                if (num[0] == 0 && num[1] == 0)
                {
                    break;
                }

                Console.WriteLine($"{num[0] + num[1]}");
            }
        }
    }
}

// 10952번 A+B - 5
// https://www.acmicpc.net/problem/10952
반응형

'알고리즘 > C#' 카테고리의 다른 글

[백준 C#] 10871번 X보다 작은 수 (C#)  (0) 2022.09.15
[백준 C#] 10950번 A+B - 3 (C#)  (0) 2022.09.15
[백준 C#] 11021번 A+B - 7 (C#)  (0) 2022.09.15
[백준 C#] 11022번 A+B - 8 (C#)  (0) 2022.09.14
[백준 C#] 25304번 영수증 (C#)  (0) 2022.09.14
반응형

1. 문제

- [백준 C#] 11021번 A+B - 7
// https://www.acmicpc.net/problem/11021

 

 

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 반복 횟수를 입력받는다.
  • 두 수를 더한 값을 출력한다.

 

 

반응형

 

 

3. 전체 코드

using System;

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

            for (int i = 1; i <= cnt; i++)
            {
                int[] num = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                Console.WriteLine($"Case #{i}: {num[0] + num[1]}");
            }
        }
    }
}

// 11021번 A+B - 7
// https://www.acmicpc.net/problem/11021
반응형

'알고리즘 > C#' 카테고리의 다른 글

[백준 C#] 10950번 A+B - 3 (C#)  (0) 2022.09.15
[백준 C#] 10952번 A+B - 5 (C#)  (0) 2022.09.15
[백준 C#] 11022번 A+B - 8 (C#)  (0) 2022.09.14
[백준 C#] 25304번 영수증 (C#)  (0) 2022.09.14
[백준 C#] 2525번 오븐 시계 (C#)  (0) 2022.09.14
반응형

1. 문제

- [백준 C#] 11022번 A+B - 8
// https://www.acmicpc.net/problem/11022

 

 

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

2. 문제 포인트

  • 몇번 계산할지 입력받는다
  • 두 수를 입력받는다

 

 

반응형

 

 

3. 전체 코드

using System;

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

            for (int i = 1; i <= cnt; i++)
            {
                int[] num = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                Console.WriteLine($"Case #{i}: {num[0]} + {num[1]} = {num[0] + num[1]}");
            }
        }
    }
}

// 11022번 A+B - 8
// https://www.acmicpc.net/problem/11022
반응형

'알고리즘 > C#' 카테고리의 다른 글

[백준 C#] 10952번 A+B - 5 (C#)  (0) 2022.09.15
[백준 C#] 11021번 A+B - 7 (C#)  (0) 2022.09.15
[백준 C#] 25304번 영수증 (C#)  (0) 2022.09.14
[백준 C#] 2525번 오븐 시계 (C#)  (0) 2022.09.14
[백준 C#] 2884번 알람 시계 (C#)  (0) 2022.09.14
반응형

1. 문제

- [백준 C#] 25304번 영수증
// https://www.acmicpc.net/problem/25304

 

 

준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.

영수증에 적힌,

  • 구매한 각 물건의 가격과 개수
  • 구매한 물건들의 총 금액

을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.

 

 

2. 문제 포인트

  • 총 금액 입력 받기
  • 총 개수 입력 받기
  • 여러 행으로 들어오는 값을 계산해서 총 합을 구하기
  • 처음 입력받은 값이 맞는지 확인

 

 

반응형

 

 

3. 전체 코드

using System;

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

            int cnt = int.Parse(Console.ReadLine());

            int sum = 0;

            for (int i = 0; i < cnt; i++)
            {
                int[] pro = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); ;
                sum += pro[0] * pro[1];
            }
            if (sum == total)
            {
                Console.WriteLine("Yes");
            }
            else
            {
                Console.WriteLine("No");
            }
        }
    }
}

// 25304번 영수증
// https://www.acmicpc.net/problem/25304
반응형
반응형

1. 문제

- [백준 C#] 2525번 오븐 시계
// https://www.acmicpc.net/problem/2525

 

 

KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 
또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 
훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 시간과 가열 시간을 입력 받는다
  • 가열 시간이 60분을 넘어갈 수 있다 (ex. 80분, 140분 등)
  • 시간이 24시 이상이면 0부터 카운팅한다

 

반응형

 

 

3. 전체 코드

using System;

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

            // 소요시간을 기존 시간에 더해준다
            t[0] += c / 60;
            t[1] += c % 60;

            // 분이 60분이 넘으면 시간에 +1을 해주고 분에서는 -60을 한다
            if (t[1] > 59)
            {
                t[0] += 1;
                t[1] -= 60;
            }

            // 시간이 24시 이상이되면 0시로 바꿔준다
            if (t[0] > 23)
            {
                t[0] -= 24;
            }

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

// 2525번 오븐 시계
// https://www.acmicpc.net/problem/2525
반응형
반응형

1. 문제

- [백준 C#] 2884번 알람 시계
// https://www.acmicpc.net/problem/2884

 

 

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.
상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.
이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다.
바로 "45분 일찍 알람 설정하기"이다.
이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.
현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 시간 입력 받기
  • 입력 받은 시간 45분 앞 시간을 출력
  • 입력 받은 '분'에서 45를 뺐을때 음수 값이 나오는 경우 처리가 포인트

 

 

반응형

 

 

3. 전체 코드

using System;

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

            // 문제 조건, 45분전으로 만들기
            t[1] -= 45;

            // 분이 음수가 되면 시간을 하나 줄이고(t[0]-1) 분에 60을 더한다
            if (t[1] <0)
            {
                t[0] -= 1;
                t[1] += 60;
            }

            // 시간이 음수가 되면 시간에 24를 더한다
            if (t[0] < 0)
            {
                t[0] += 24;
            }

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

// 2884번 알람 시계
// https://www.acmicpc.net/problem/2884
반응형
반응형

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. Point

  • 엑셀 셀 병합 방법
  • 셀 병합 후 값 넣기

 

반응형

 

 

2. 전체 코드

// 참조 추가
using System.IO;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;

namespace manual_NPOI_excel_IO
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var newFile = @"./dir/newbook.xlsx";

            using (var fs = new FileStream(newFile, FileMode.Create, FileAccess.Write))
            {

                IWorkbook workbook = new XSSFWorkbook();
                // 시트 생성
                ISheet sheet1 = workbook.CreateSheet("Sheet1");


                // 셀 병합
                //// 시작 row, 끝 row, 시작 column, 끝 column
                sheet1.AddMergedRegion(new CellRangeAddress(0, 0, 0, 10));
				
                // 병합된 셀에 값 넣기 (항상 병합된 셀 중 첫칸 기준으로 데이터를 넣어야 한다)
                sheet1.CreateRow(0).CreateCell(0).SetCellValue("Cell Merge");
                // 병합된 셀 중간에 값을 넣으면 아무값도 써지지 않는다
                sheet1.CreateRow(1).CreateCell(3).SetCellValue("Cell Merge");


                // 작업 내용 파일에 작성 및 저장
                workbook.Write(fs);
            }
        }
    }
}
반응형

+ Recent posts