-
5주차 문자열과 문자열 처리함수 과제Language/C 2021. 6. 1. 22:51
단어를 입력하고 입력한 단어에서 사용된 알파벳 + 알파벳의 개수를 출력해주면 된다.
모르겠다.
int a~z, A~Z = 0 ; 으로 주고 if문과 for문을 사용해서 입력한 문자열을 하나씩 읽어 해당 알파벳의 수를 1씩 증가 시키는 방법으로 푼다면 물론 쉽겠지만 쓰이지 않은 문장들도 (a = 0 과 같이) 출력이 되고, 당연히 이건 정답은 아니다.
한참을 생각하다가 인터넷이 검색해보았다.
"문자열 빈도 수" 라고 검색하니 대충 비슷한 문제가 나왔다. 풀이 방법은 ASCII를 사용해서 문제를 푸는 것이다.
대충 이런 방식이다. ASCII에서는 문자에 해당하는 숫자가 있다.
( a = 97, z = 122, A = 65, Z = 90 과 같이 )
문자열을 입력받았을때, 문자에 해당하는 숫자를 인덱스로 사용해서 개수를 1씩 증가시키면 될 것 같다.
'Language > C' 카테고리의 다른 글
백준 10809번 : 알파벳 찾기 (0) 2021.06.10 백준 2562번 : 최댓값 (포인터 풀이) (0) 2021.06.10 백준 1152번 : 단어의 개수 (0) 2021.06.01 백준 2675번: 문자열 반복 (0) 2021.05.23 백준 2566번: 최댓값 (0) 2021.05.15