반응형
[ 문제 ]
고려대학교의 영문 이름은 KOREA UNIVERSITY이다.
영어 알파벳 대문자 K, O, R, E, A로만 이루어진 문자열 가 주어진다. 에서 개 이상의 문자를 지웠을 때 “KOREAKOREAKOR” 처럼 ‘K’로 시작하고 각 글자가 ‘K’, ‘O’, ‘R’, ‘E’, ‘A’ 순서로 반복되는 문자열을 만들려고 한다. 이를 KOREA 문자열이라고 하자.
문자열이 주어졌을 때, 0개 이상의 문자를 지워서 만들 수 있는 가장 긴 KOREA 문자열의 길이를 구하여라.
[ 코드 ]
1. 내 코드
using System;
class MainClass
{
public static void Main(string[] args)
{
string S = Console.ReadLine();
int max = 0;
int index = 0;
foreach (char c in S)
{
if (c == "KOREA"[index])
{
index++;
max++;
if (index == 5)
{
index = 0;
}
}
}
Console.Write(max);
}
}
2. 다른 사람 코드
using System;
class MainClass
{
public static void Main(string[] args)
{
string S = Console.ReadLine();
char[] arr = { 'K', 'O', 'R', 'E', 'A' };
int count = 0;
foreach (char c in S)
{
if (c == arr[count % 5])
{
count++;
}
}
Console.Write(count);
}
}
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/30700
30700번: KOREA 문자열 만들기
첫 번째 줄에 문자열 $S$가 주어진다. $S$는 영어 알파벳 대문자 K, O, R, E, A로만 이루어져 있으며, 문자열의 길이는 $10$ 이상 $1\,000$ 이하이다.
www.acmicpc.net
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 30019번 강의실 예약 시스템 (0) | 2024.03.14 |
---|---|
[C#] 백준 14471번 포인트 카드 (0) | 2024.03.13 |
[C#] 백준 18238번 ZOAC 2 (0) | 2024.03.11 |
[C#] 백준 28062번 준석이의 사탕 사기 (0) | 2024.03.11 |
[C#] 백준 22864번 피로도 (0) | 2024.03.11 |