알고리즘/백준 알고리즘

10809-알파벳 찾기

TIM_0529 2022. 12. 24. 06:10
반응형
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;


int main() {
	string word;
	bool isfind;
	int index = 0;
	getline(cin, word);
	for (int j = 97; j < 123; j++)
	{
		isfind = false;
		for (int i = 0; i < word.size(); i++)
		{
			if (int(word[i]) == j) {
				isfind = true;
				printf("%d ",i);
				break;
			}
		}
		if (!isfind) {
			printf( "-1 ");
		}
	}
}

2024KB 에 메모리를 사용했다. 

다른사람들의 코드를 보면 

#include <cstdio>

int main()
{
	char s[105];
	scanf("%s", s);
	
	for(char c='a';c<='z';c++)
	{
		int p=-1;
		for(int i=0;s[i];++i)
		{
			if(s[i]==c)
			{
				p=i;
				break;	
			}			
		}
		
		printf("%d ", p);
	}
	
	return 0;

1112KB 의 메모리를 차지하는 코드이다. 메모리의 사용량을 줄이려면 

<iostream> 헤더파일에 사용을 피해야 한다. 내 코드에서는 getline() 함수가 사용되어 더 많은 메모리를 사용하게 되었다.

반응형

'알고리즘 > 백준 알고리즘' 카테고리의 다른 글

2908 - 상수  (2) 2022.12.28
1157-단어공부 c++  (0) 2022.12.26
2675-문자열 반복  (0) 2022.12.25
11720 - 숫자의 합  (0) 2022.12.24
11654-아스키 코드  (0) 2022.12.24