백준 10809번 알파벳 찾기(C언어)

최정우·2022년 6월 30일
0

백준 문제풀이

목록 보기
10/26

Code

#include <stdio.h>

int main()
{
	char alphabet[27] = { 'a', 'b','c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k','l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
	int NUM[27] = { -1,-1,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 };
	char S[101] = {};
	int a = 0;

	scanf_s("%s", S, sizeof(S));

	for (int i=0; i < 26; i++)
	{
		for (int j = 0; S[j]!='\0'; j++)
		{
			if (alphabet[i] == S[j] && a == 0)
			{
				NUM[i] = j;
				a++;
			}
		}
		a = 0;
	}

	for (int i=0; i < 26; i++)
	{
		printf("%d ", NUM[i]);
	}
	
	return 0;
}

Ket Points

  1. 알파벳이 입력된 배열을 만들어 놓고 작업을 시작 or 일일히 작성을 할 필요없이 아스키 코드를 이용해 반복문으로 배열에 넣어줌
  2. 알파벳이 처음 등장하는 위치만 적어줘야하므로 따로 a라는 변수를 이용해 조건문안에 넣어 처음 등장할 때만 조건이 성립하게 만듦
profile
WHEN LIFE GIVES YOU LEMONS, MAKE LEMONADE

0개의 댓글