cyphen156
백준-문자열 10809 알파벳 찾기 본문
알파벳 표에서 입력받은 문자열에 해당 알파벳이 등장하는 첫 위치를 표시하는 프로그램
제약사항
- 0 < S <= 100
- S is Lowercase
- if ch is not in S return -1
주의 사항
없다.
C 풀이
알파벳 찾기_10809.c
/**
* 백준 문자열 10809 알파벳 찾기
* 알파벳 표에서 입력받은 문자열에 해당 알파벳이 등장하는 첫 위치를 표시하는 프로그램
*
*
* 제한사항
*****************************************
* 0 < S <= 100 *
* S is Lowercase *
* if ch is not in S return -1 *
*****************************************
*
*
*
* 주의
* 없다.
*
* 풀이시간 10분
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(void)
{
int alpha[26];
int len = sizeof(alpha)/sizeof(alpha[0]);
char str[101];
// alpha 초기화
for (int i = 0; i < len; ++i)
{
alpha[i] = -1;
}
scanf("%s", str);
for (int i = 0; i < strlen(str); ++i)
{
int idx = str[i] - 'a';
if (alpha[idx] == -1)
{
alpha[idx] = i;
}
}
for (int i = 0; i < len; ++i)
{
printf("%d ", alpha[i]);
}
printf("\n");
return 0;
}
C++ 풀이
알파벳 찾기_10809.cpp
/**
* 백준 문자열 10809 알파벳 찾기
* 알파벳 표에서 입력받은 문자열에 해당 알파벳이 등장하는 첫 위치를 표시하는 프로그램
*
*
* 제한사항
*****************************************
* 0 < S <= 100 *
* S is Lowercase *
* if ch is not in S return -1 *
*****************************************
*
*
*
* 주의
* 없다.
*
* 풀이시간 5분
*/
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int* alpha = new int[26];
memset(alpha, -1, sizeof(int) * 26);
string str;
cin >> str;
// 범위 기반 루프
int i = 0;
for (char ch: str)
{
int idx = ch - 'a';
if (alpha[idx] == -1)
{
alpha[idx] = i;
}
++i;
}
for (int i = 0; i < 26; ++i)
{
cout << alpha[i] << " ";
}
delete[] alpha;
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리 에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace · GitHub
Workspace/알고리듬 풀이 at main · cyphen156/Workspace
Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.
github.com
'컴퓨터공학 > 알고리듬 풀이' 카테고리의 다른 글
백준-문자열 1152 단어의 개수 (3) | 2024.09.25 |
---|---|
백준-문자열 2675 문자열 반복 (0) | 2024.09.25 |
백준-문자열 11720 숫자의 합 (0) | 2024.09.24 |
백준-문자열 11654 아스키 코드 (0) | 2024.09.21 |
백준-문자열 9086 문자열 (0) | 2024.09.21 |