복대가리의 개발

[C#] 백준 (알고리즘)/브론즈 문제

[백준 - C#] 10817번 세 수 / 2752 세수정렬

복대가리 2022. 9. 5. 00:14
728x90

문제링크

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

 

10817번: 세 수

첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)

www.acmicpc.net

 

문제

세 정수 A, B, C가 주어진다.
이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. 

조건

시간제한 : 1초
메모리 제한 : 256 MB

입력

첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)

출력

두 번째로 큰 정수를 출력한다.

 

문제정리

1. A, B, C가 주어질 때 두 번째로 큰 정수를 출력 해야합니다.
2. 1 <= A, B, C <= 100

이번 문제의 경우 정말 간단하게 풀 수 있는데, A, B, C 세가지 값을 한번에 입력 받고 오름차순으로 정렬하여 두번째 값을 출력해주면 됩니다.

만약 세가지의 값이 아닌 네가지 이상이 된다면 인덱스 1의 값으로 두번째 값을 찾기 위해선 내림차순으로 정렬하여야 하지만 입력 받은 값이 세가지이기 때문에 상관이 없었습니다. !!

 

C# 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
static void Main(string[] args)
{
    StreamWriter writer = new StreamWriter(Console.OpenStandardOutput());
    StreamReader reader = new StreamReader(Console.OpenStandardInput());
 
    int[] input = Array.ConvertAll(reader.ReadLine().Split(), int.Parse);
 
    Array.Sort(input); // 오름차순으로 정렬
 
    writer.WriteLine(input[1]); // 두번째로 큰 정수 출력
 
    writer.Close();
    reader.Close();
}
cs

 

문제링크

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

 

2752번: 세수정렬

숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다.

www.acmicpc.net

 

문제

동규는 세수를 하다가 정렬이 하고싶어졌다.

숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다.

숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오.

조건

시간제한 : 1초
메모리 제한 : 128 MB

입력

숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다.

출력

제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다.

 

문제정리

1. 숫자 세 개를 입력 받고 오름차순으로 정렬합니다.
2. 가장 작은 수 부터 순차적으로 출력합니다.
2. 1 <= 입력받은 값 <= 1,000,000

이번 문제의 경우도 위와 같은 문제로 입력 받은 값을 오름차순으로 정렬 후 순차적으로 출력만 하면 되는 문제입니다.

대신 위의 문제의 경우 두 번째로 큰수만 출력하면 되는 대신 이번 문제의 경우 순차적으로 작은 수부터 큰 수까지 전부 출력해줘야 합니다.

 

C# 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static void Main(string[] args)
{
    //  https://bokhead.tistory.com/
    // 2752
    StreamWriter writer = new StreamWriter(Console.OpenStandardOutput());
    StreamReader reader = new StreamReader(Console.OpenStandardInput());
 
    int[] input = Array.ConvertAll(reader.ReadLine().Split(), int.Parse);
 
    Array.Sort(input); // 오름차순으로 정렬
 
    for (int i = 0; i < input.Length; i++)
        writer.Write(input[i] + " ");
 
    writer.WriteLine();
 
    writer.Close();
    reader.Close();
}
cs
읽어주셔서 감사합니다 오늘도 즐거운 하루 되세요.

 

728x90