백준 10809 번 : 알파벳 찾기

https://www.acmicpc.net/problem/10809

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string s;
	int where[26];

	cin >> s;
	for (int i = 0; i < 26; i++)
	{
		where[i] = -1;
	}

	for (int j = 97; j < 123; j++) //a부터~
	{
		for (int i = 0; i < s.length(); i++) //s의 i번째 글자에서~
		{
			if (s[i] == j)
			{
				where[j - 'a'] = i;
				break;
			}
		}
	}

	for (int i = 0; i < 26; i++)
	{
		cout << where[i] << " ";
	}

	return 0;
}

처음에는 break를 안 넣어서 틀리고,

다음에는 i와 j를 반대 순서로 실행해서 같은 문자가 여러 번 나올 때 문제가 생겼다.

string 헤더를 include 해놓고 제대로 쓰지 않았는데, string 헤더를 사용하면 훨씬 짧게 끝낼 수 있었을 것 같다. 나중에 다시 해봐야겠다.

'백준' 카테고리의 다른 글

[백준] 7568번: 덩치 (C++)  (0) 2022.03.19
[백준] 10870번: 피보나치 수 5 (C++)  (0) 2022.02.22
[백준] 10872번: 팩토리얼 (C++)  (0) 2022.02.22
[백준] 2675번: 문자열 반복 (C++)  (0) 2022.01.14
[백준] 10951번: A+B - 4 (C++)  (0) 2021.12.30

백준 10951번: A+B-4

https://www.acmicpc.net/problem/10951

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

문자 입력 함수는 파일의 끝을 만났을 때(더 이상 읽을 수 있는 데이터가 없는 경우) 정해진 EOF(End of File) 값을 리턴한다.

문제에서 테스트 케이스의 개수가 주어지지 않으므로 입력이 더 이상 주어지지 않을 때 반목문을 종료할 수 있어야 한다.

 

#include <iostream>
using namespace std;

int main()
{
	int A, B;

	while (cin >> A >> B)
	{
		cout << A + B << endl;
	}
}

+ Recent posts