//10807
using System;
namespace TEST
{
class Test
{
static void Main(string[] args)
{
int num = int.Parse(Console.ReadLine());
string[] v = Console.ReadLine().Split();
int key = int.Parse(Console.ReadLine());
int answer = 0;
for (int i = 0; i < num; i++)
{
if (int.Parse(v[i]) == key)
answer++;
}
Console.WriteLine(answer);
}
}
}
//10871
using System;
namespace TEST
{
class Test
{
static void Main(string[] args)
{
string[] v = Console.ReadLine().Split();
string[] v2 = Console.ReadLine().Split();
for (int i = 0; i < int.Parse(v[0]); i++)
{
if (int.Parse(v2[i]) < int.Parse(v[1]))
Console.Write(v2[i] + " ");
}
}
}
}
//10818
Array.Sort()
정렬 메소드를 사용할 수 있는지가 관건이다.
using System;
using static System.Console;
namespace TEST
{
class Test
{
static void Main(string[] args)
{
int num = int.Parse(ReadLine());
string[] v = ReadLine().Split();
int[] arr = new int[num];
for(int i = 0; i < num; i++)
{
arr[i] = int.Parse(v[i]);
}
Array.Sort(arr);
WriteLine($"{arr[0]} {arr[num-1]}");
}
}
}
//2562
using System;
using static System.Console;
using System.Text;
namespace TEST
{
class Test
{
static void Main(string[] args)
{
int[] arr = new int[9];
int num = 0;
int max = arr[0];
for(int i = 0; i < arr.Length; i++)
{
arr[i] = int.Parse(ReadLine());
}
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] > max)
{
max= arr[i];
num = i;
}
}
Console.WriteLine(max);
Console.WriteLine(num+1);
}
}
}
//10810
using System;
using static System.Console;
using System.Text;
namespace TEST
{
class Test
{
static void Main(string[] args)
{
string[] v = ReadLine().Split();
int[] basket = new int[int.Parse(v[0])];
for(int i = 0; i < int.Parse(v[1]); i++)
{
string[] inputArr = ReadLine().Split();
for (int basketNum = int.Parse(inputArr[0]) - 1; basketNum < int.Parse(inputArr[1]); basketNum++)
{
basket[basketNum] = int.Parse(inputArr[2]);
}
}
Console.WriteLine(String.Join(" ", basket));
}
}
}
//10813
using System;
using static System.Console;
using System.Text;
namespace TEST
{
class Test
{
static void Main(string[] args)
{
string[] v = ReadLine().Split();
int[] basket = new int[int.Parse(v[0])];
int temp = 0;
for(int i = 0; i < basket.Length; i++)
{
basket[i] = i + 1;
}
for (int i = 0; i < int.Parse(v[1]); i++)
{
string[] inputArr = ReadLine().Split();
temp = basket[int.Parse(inputArr[0]) - 1];
basket[int.Parse(inputArr[0]) - 1] = basket[int.Parse(inputArr[1]) - 1];
basket[int.Parse(inputArr[1]) - 1] = temp;
}
Console.WriteLine(String.Join(" ", basket));
}
}
}
//5597
using System;
using static System.Console;
namespace TEST
{
class Test
{
static void Main(string[] args)
{
int[] arr = new int[30];
for(int i = 0; i < arr.Length; i++)
{
arr[i] = i+1;
}
for (int i = 0; i < 28; i++)
{
int num = int.Parse(ReadLine());
if (Array.IndexOf(arr, num) > -1)
arr[Array.IndexOf(arr, num)] = -1;
}
Array.Sort(arr);
for(int i = 0; i < arr.Length; i++)
{
if (arr[i] > -1)
{
WriteLine(arr[i]);
}
}
}
}
}
int[] arr = new int[31];
for (int i = 0; i < 28; i++)
{
arr[int.Parse(Console.ReadLine())] = 1;
}
for (int i = 1; i < 31; i++)
if (arr[i] != 1)
Console.WriteLine(i);
//3052
using System;
using static System.Console;
namespace BaekJoon
{
class BaekJoon
{
static void Main(string[] args)
{
int[] arr = new int[10];
int count = 1;
for (int i = 0; i < 10; i++)
{
arr[i] = int.Parse(ReadLine());
arr[i] %= 42;
}
Array.Sort(arr);
for (int i = 0; i < 10; i++)
{
if(i != 0)
{
if (arr[i] != arr[i - 1])
count++;
}
}
WriteLine(count);
}
}
}
HashSet<int> arr = new HashSet<int>();
for (int i = 0; i < 10; ++i)
{
arr.Add(int.Parse(Console.ReadLine()) % 42);
}
Console.Write(arr.Count);
일단 HashSet<T>는 중복된 값을 허용하지 않는 집합 자료구조다. 즉, 각 요소는 고유해야 한다.
따라서 콘솔 입력 받은 값%42을 Add() 했을 때 arr에 이미 동일한 값이 존재한다면 아예 추가 되지 않는 것이다..
//10811
using System;
using static System.Console;
namespace BaekJoon
{
class BaekJoon
{
static void Main(string[] args)
{
int[] nm = Array.ConvertAll(ReadLine().Split(), int.Parse);
int[] basket = new int[nm[0]];
for (int i = 0; i < basket.Length; i++)
basket[i] = i + 1;
for (int m = 0; m < nm[1]; m++)
{
int[] ij = Array.ConvertAll(ReadLine().Split(' '), int.Parse);
Array.Reverse(basket, ij[0] -1, ij[1] - ij[0] +1);
}
WriteLine(string.Join(" ", basket));
}
}
}
Split() 메소드에 구분자를 명시적으로 지정하는 게 좋을까 싶었는데, 아무래도 가독성과 명확성 높이는 데에는 좋은 듯 하다.
//1546
using static System.Console;
int subject = int.Parse(ReadLine());
float[] score = Array.ConvertAll(ReadLine().Split(), float.Parse);
float maxScore = score.Max();
float sum = 0;
for (int i = 0; i < subject; i++)
{
sum += (score[i] / maxScore) * 100;
}
WriteLine(sum / subject);
'코딩 공부 > C#-코딩테스트' 카테고리의 다른 글
(백준/C#) 심화 1 (0) | 2024.09.23 |
---|---|
(백준/C#) 문자열 (0) | 2024.09.09 |
(백준/C#) 반복문 (0) | 2024.08.19 |
(백준/C#) 조건문 (0) | 2024.08.19 |
(백준/C#) 입출력과 사칙연산 (0) | 2024.08.19 |