문제
정답 코드
#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] << " ";
}
}
문제 풀이의 흐름
- 문자열을 받는다.
- 문자열이 알파벳 소문자가 확정 되어있기 때문에 26 크기의 char 형 배열을 이용해 그와 관련된 값이 들어오면 값을 더해주는 방식을 사용을 했다.
- 이후 결과를 출력한다.
주의 할 점
cout << (int)ar[i] << " ";
여기서 형 변환을 해주는데 이유는 char형을 그대로 cout에 넣게 되면 아스키코드 값을 출력하게 되서 아스키코드에 맞는 값이 출력되서 틀릴 수 있다 꼭 cout 에 char배열을 int의 의미로 쓰고 싶다면 int로 변환 해 출력을 해주도록 하자.
반성 및 고찰
auto 키워드를 사용해보고 string 을 사용해 봤는데 잘 안 쓰던 키워드라 아무래도 불편했지만 익숙해지면 상당히 편리해질 것 같다. 쉬운 문제라 고찰이 많지는 않다.
Uploaded by N2T
728x90
'알고리즘 기초시절' 카테고리의 다른 글
백준 10988번 팰린드롬인지 확인하기(C++) (0) | 2022.12.29 |
---|---|
백준 2979번 트럭주차 (C++) (0) | 2022.12.29 |
백준 2309번 일곱 난쟁이(C++) (0) | 2022.12.29 |
read 함수 (0) | 2022.12.22 |
파일디스크립터에 대하여(간단한 설명) (0) | 2022.12.19 |