반응형
[ 문제 ]
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.
예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.
[ 코드 ]
using System;
using static System.Console;
namespace Baekjoon
{
internal class Program
{
static void Main()
{
string input = ReadLine()?.ToLower();
int count = 0;
for (int i = 0; i < input.Length; i++)
{
char c = input[i];
if (c == 'c' && i < input.Length - 1)
{
char nextc = input[i + 1];
if (nextc == '=' || nextc == '-')
{
i++;
}
}
else if (c == 'd' && i < input.Length - 1)
{
char nextc = input[i + 1];
if (nextc == '-')
{
i++;
}
else if (i < input.Length - 2 && input.Substring(i, 3) == "dz=")
{
i += 2;
}
}
else if ((c == 'l' || c == 'n') && i < input.Length - 1)
{
char nextc = input[i + 1];
if (nextc == 'j')
{
i++;
}
}
else if ((c == 's' || c == 'z') && i < input.Length - 1)
{
char nextc = input[i + 1];
if (nextc == '=')
{
i++;
}
}
count++;
}
WriteLine(count);
}
}
}
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/2941
반례가 많이 필요한 듯 싶다. 테스트케이스에서는 됐는데 틀려서 바보같은 고생을 했다잉....
다른 사람들은 이것보다 짧고 쉽게 풀었다. 더 보고 배워야겠다.
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 2745번 진법 변환 (0) | 2024.01.23 |
---|---|
[C#] 백준 1316번 그룹 단어 체커 (0) | 2024.01.22 |
[C#] 백준 2444번 별찍기 - 7 (다이아몬드 별찍기) (0) | 2024.01.20 |
[C#] 백준 11718번 그대로 출력하기 (for문 ,while문, null조건연산자 사용해보기) (0) | 2024.01.20 |
[C#] 컴공이 생일 축하하는 방법 (ps. 콘솔 케이크) (2) | 2024.01.19 |