반응형
1. 문제
- [백준 C#] 10809번 알파벳 찾기 (C#) (https://www.acmicpc.net/problem/10809)
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
2. 문제 포인트
- 문자열을 입력 받는다.
- 26개짜리 리스트를 생성한다 (초기 값은 모두 -1)
- 입력 받은 문자열을 하나씩 잘라 카운트 값을 리스트의 해당 인덱스에 입력한다
반응형
3. 전체 코드
using System;
using System.Linq;
namespace B5_10809번
{
internal class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();
// 26개의 값을 모두 '-1'로 초기화
int[] result = Enumerable.Repeat(-1, 26).ToArray();
int num = 0;
int cnt = 0;
// 글자를 한글자씩 계산한다
foreach (char a in str)
{
num = Convert.ToInt32(a);
// 글자가 중복일 경우 첫번째 문자 기준으로 숫자 출력
if (result[num-97] == -1)
{
result[num-97] = cnt;
}
cnt += 1;
}
Console.WriteLine(String.Join(" ", result));
}
}
}
// 10809번 알파벳 찾기
// https://www.acmicpc.net/problem/10809
반응형
'알고리즘 > C#' 카테고리의 다른 글
[백준 C#] 5622번 다이얼 (C#) (0) | 2022.09.22 |
---|---|
[백준 C#] 11654번 아스키 코드 (C#) (0) | 2022.09.21 |
[백준 C#] 11720번 숫자의 합 (C#) (0) | 2022.09.21 |
[백준 C#] 2675번 문자열 반복 (C#) (0) | 2022.09.20 |
[백준 C#] 1152번 단어의 개수 (C#) (1) | 2022.09.20 |