1. 문제
2. 풀이
배열 word를 모두 -1로 초기화해둔 뒤
단어의 길이만큼 for문을 돌리며 word[i] -'a'을 이용한다
word[i] - 'a'를 하면 a가 0이 되고, b는 1이 되는 등 차례차례 0 ~ 25가 된다
맨 처음 나온 위치에 맞춰야하기 때문에 -1인지 확인하는 검사도 필요하다
3. 코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(void) {
char word[100];
char alpabet[26];
scanf("%s", word);
for (int i = 0; i < 26; i++) {
alpabet[i] = -1;
}
for (int i = 0; i < strlen(word); i++) {
if (alpabet[word[i] - 'a'] == -1)
alpabet[word[i] - 'a'] = i;
}
for (int i = 0; i < 26; i++) {
printf("%d ", alpabet[i]);
}
return 0;
}
4. 참고
'개인공부 > 백준' 카테고리의 다른 글
[백준(BOJ)] 공 바꾸기 | 10813번 문제 풀이 (브론즈2, C언어) (0) | 2024.07.08 |
---|---|
[백준(BOJ)] 단어의 개수 | 1152번 문제 풀이 (브론즈2, C언어) (1) | 2024.07.02 |
복습 [백준(BOJ)] 숫자의 합 | 11720번 문제 풀이 (브론즈4, C언어) (1) | 2024.07.01 |
복습 [백준(BOJ)] 그대로 출력하기 | 11718번 문제 풀이 (브론즈3, C언어) (0) | 2024.06.30 |
[백준(BOJ)] 학점계산 | 2754번 문제 풀이 (브론즈5, C언어) (1) | 2024.06.30 |