코딩 공부/C#-코딩테스트

(백준/C#) 심화 1

공부를 함 2024. 9. 23. 19:08

//25083

Console.WriteLine("         ,r'\"7");
Console.WriteLine("r`-_   ,'  ,/");
Console.WriteLine(" \\. \". L_r'");
Console.WriteLine("   `~\\/");
Console.WriteLine("      |");
Console.WriteLine("      |");

 

 

//3003

첫째 줄에 입력에서 주어진 순서대로 몇 개의 피스를 더하거나 빼야 되는지를 출력한다. 만약 수가 양수라면 동혁이는 그 개수 만큼 피스를 더해야 하는 것이고, 음수라면 제거해야 하는 것이다.

int[] chessOrigin = { 1, 1, 2, 2, 2, 8 };
int[] inputs = Array.ConvertAll(Console.ReadLine().Split(), i => int.Parse(i));
for (int i = 0; i < inputs.Length; i++)
{
    inputs[i] = chessOrigin[i] - inputs[i];
}
Console.WriteLine(String.Join(" ", inputs));

 

 

//2444

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

int n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
    for (int j = 0; j < n - i; j++) Console.Write(" ");
    for (int j = 0; j < (i - 1) * 2 + 1; j++) Console.Write("*");
    Console.WriteLine();
}
for (int i = n - 1; i >= 1; i--)
{
    for (int j = 0; j < n - i; j++) Console.Write(" ");
    for (int j = 0; j < (i - 1) * 2 + 1; j++) Console.Write("*");
    Console.WriteLine();
}

 

 

//10988

level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.

첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다.

using System.Linq;

string input = Console.ReadLine();
Console.WriteLine(input == new string(input.Reverse().ToArray())?1:0);

 

 

//1157

첫째 줄에 입력된 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.

string input = Console.ReadLine().ToUpper();
int[] iArr = new int[91];

for (int i = 0; i < input.Length; i++)
    iArr[input[i]]++;

int max = 0;
char c = '?';
for (int i = 'A'; i <= 'Z'; i++)
{
    if (iArr[i] > max)
    {
        max = iArr[i];
        c = (char)i;
    }
    else if (iArr[i] == max)
        c = '?';
}
Console.WriteLine(c);

 

 

//2941

입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

string[]a={"c=","c-","dz=","d-","lj","nj","s=","z="};
var s=Console.ReadLine();
for(int i=0;i<8;i++)s=s.Replace(a[i],"A");
Console.Write(s.Length);

 

 

//1316

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다.

단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오.

int n = int.Parse(Console.ReadLine());
int a = n; 
for (int x = 0; x < n; x++) 
{ 
    string s = Console.ReadLine(); 
    bool[] check = new bool[26]; 
    for (int i = 0; i < s.Length; i++) 
    { 
        if (check[s[i] - 97]) 
        { 
            if (s[i] != s[i - 1]) 
            { 
                a--; 
                break;
            } 
        } 
        else
        { 
            check[s[i] - 97] = true;
        } 
    } 
}

Console.Write(a);

 

 

//25206

치훈이의 전공평점을 계산해주는 프로그램을 작성해보자.

전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다.

float cnt = 0f, f;
float sum = 0f;
for (int i = 0; i < 20; i++)
{
    var s = Console.ReadLine().Split(' ');
    if (s[2].Contains('P')) continue;
    else if (s[2].Contains('F')) f = 0f;
    else
    {
        f = 69 - s[2][0] + (s[2][1] == '0' ? 0f : 0.5f);
    }
    cnt += (float)Convert.ToDouble(s[1]);
    sum += f * (float)Convert.ToDouble(s[1]);
}
Console.WriteLine((sum/cnt).ToString());

'코딩 공부 > C#-코딩테스트' 카테고리의 다른 글

(백준/C#) 2차원 배열  (0) 2024.09.30
(백준/C#) 일반 수학 1  (0) 2024.09.24
(백준/C#) 문자열  (0) 2024.09.09
(백준/C#) 1차원 배열  (0) 2024.08.19
(백준/C#) 반복문  (0) 2024.08.19