반응형
[ 문제 ]
X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.
교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.
[ 첫 번째 코드 ] - 차집합 Except 이용해서 값 출력하기
using System;
using static System.Console;
namespace Baekjoon
{
internal class Program
{
static void Main(string[] args)
{
int[] stu1 = new int[30];
int[] stu2 = new int[28];
for(int i = 0; i < 30; i++)
{
stu1[i] = i + 1;
}
for (int j = 0; j < 28; j++)
{
int n = int.Parse(ReadLine());
stu2[j] = n;
}
var except = stu1.Except(stu2);
foreach (var num in except)
{
WriteLine(num);
}
}
}
}
[ 두 번째 코드 ] - 입력하는 수를 1로 만들어 1이 아닌 값을 출력하기
using System;
using static System.Console;
namespace Baekjoon
{
internal class Program
{
static void Main(string[] args)
{
int[] num = new int[30];
for (int i = 0; i < 28; i++)
{
int n = int.Parse(ReadLine());
num[n-1] = 1;
}
for (int i = 0;i < 30; i++)
{
if (num[i] != 1)
{
WriteLine(i+1);
}
}
}
}
}
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/5597
나는 차집합을 이용해서 풀었는데 찾아보니 다들 더 간단하게 입력받은 수를 1로 만들어서 1이 아닌 수를 출력한걸 보고 한 수 배웠다. 헤헤
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 11718번 그대로 출력하기 (for문 ,while문, null조건연산자 사용해보기) (0) | 2024.01.20 |
---|---|
[C#] 컴공이 생일 축하하는 방법 (ps. 콘솔 케이크) (2) | 2024.01.19 |
[C#] 내가 태어난지 얼마나 됐을까? 생일맞이 일 수, 개월 수 구하기 (내 나이가 아기인지 판별법 ^^) (0) | 2024.01.17 |
[C#] 백준 2438번, 2439번 별찍기 (0) | 2024.01.16 |
[C#] 백준 15552번 빠른 A+B (0) | 2024.01.14 |