알고리즘/백준-브론즈

백준10808번 알파벳 개수(C++)

뜨거운 개발자 2022. 12. 29. 09:09

문제

정답 코드

#include <iostream>
#include <string>

using namespace std;

char ar[26];

int main()
{
	string s;
	cin >> s;
	for (auto it : s)
	{
		ar[(it -'a')]++;
	}
	for (int i=0 ;i < 26; i++)
	{
		cout << (int)ar[i] << " ";
	}
}

문제 풀이의 흐름

  1. 문자열을 받는다.
  1. 문자열이 알파벳 소문자가 확정 되어있기 때문에 26 크기의 char 형 배열을 이용해 그와 관련된 값이 들어오면 값을 더해주는 방식을 사용을 했다.
  1. 이후 결과를 출력한다.

주의 할 점

cout << (int)ar[i] << " ";

여기서 형 변환을 해주는데 이유는 char형을 그대로 cout에 넣게 되면 아스키코드 값을 출력하게 되서 아스키코드에 맞는 값이 출력되서 틀릴 수 있다 꼭 cout 에 char배열을 int의 의미로 쓰고 싶다면 int로 변환 해 출력을 해주도록 하자.

반성 및 고찰

auto 키워드를 사용해보고 string 을 사용해 봤는데 잘 안 쓰던 키워드라 아무래도 불편했지만 익숙해지면 상당히 편리해질 것 같다. 쉬운 문제라 고찰이 많지는 않다.


Uploaded by N2T

728x90