알파벳 개수 세기 #10808

2023. 11. 1. 19:37·알고리즘

해당 문제를 풀기 위해 필요한 사전 지식으로는 아스키코드와 배열정도일 것이다. 당장에 구글에만 쳐봐도 정답 코드가 넘쳐난다. 
그러던중 바킹독님의 풀이가 유독 눈에 띄어서 정리할 겸 가져와봤다.

#include <iostream>
#include <vector>

using namespace std;

int main(void){
    int arr[26]={0};
    string s;
    cin >> s;

    for(auto c : s)
        arr[c-'a']++;
    
    for(auto i : arr)
        cout << i << " ";
}

대부분 알파벳을 배열 형식으로 받았던데 난 그냥 string으로 입력받았다. string의 알파벳 개수 정보를 받을 arr배열은 0으로 초기화를 꼭 해야함을 잊지말자.
첫번째 for문을 보면 c가 string을 돌면서 각 요소들의 값을 읽어들인다. 그후 각 요소에 'a'의 아스키코드값을 빼주게 되면 해당 인덱스의 요소 값이 1씩 증가하게 된다. 
만일 c에 'f'라는 값이 들어올경우, f의 아스키코드 값에서 a의 아스키코드값이 빠져나가 arr[5]의 값이 1 증가한다. 이때 arr[]배열은 순차적으로 a,b,c,d...,z를 뜻하는 것이므로 arr[5]는 f를 뜻하는것이 된다.

해당 코드를 사용할경우 문자열의 수만큼 for문을 돌릴필요가 없어 시간복잡도가 훨씬 줄어들게된다.

 

 

 

출처 : https://github.com/encrypted-def/basic-algo-lecture/blob/master/0x03/solutions/10808.cpp

저작자표시 (새창열림)

'알고리즘' 카테고리의 다른 글

Restricted Structure_STACK(스택)  (0) 2023.11.05
연결 리스트/Linked list  (1) 2023.11.02
시간, 공간 복잡도  (1) 2023.10.27
완전 탐색 - 브루트 포스(Brute Force)  (0) 2022.08.30
백준#2609 GCD알고리즘 (유클리드 호제법)  (0) 2022.08.21
'알고리즘' 카테고리의 다른 글
  • Restricted Structure_STACK(스택)
  • 연결 리스트/Linked list
  • 시간, 공간 복잡도
  • 완전 탐색 - 브루트 포스(Brute Force)
70_0ewd
70_0ewd
내가 보려고 적는 나의 공부 기록
  • 70_0ewd
    Seung's Learning Record
    70_0ewd
  • 전체
    오늘
    어제
    • 분류 전체보기 (92)
      • DE (2)
      • Dev Tool (29)
        • Flutter (5)
        • AWS (8)
        • Django (7)
        • Spring boot (9)
      • 프로그래밍 (30)
        • C++ (0)
        • JAVA (6)
        • SQL (13)
        • Python (8)
        • WEB (3)
      • 알고리즘 (26)
      • CS (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    select
    백트래킹
    스택
    프로그래머스
    데브코스
    Queue
    C++
    백준
    플러터
    Java
    delete
    group by
    JOIN
    django
    heap
    AWS
    DP
    깊이 우선 탐색
    stl
    웹 스크래핑
    BFS
    너비 우선 탐색
    DFS
    큐
    Flutter
    Python
    SQL
    파이썬
    자바
    공룡책
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
70_0ewd
알파벳 개수 세기 #10808
상단으로

티스토리툴바