[algorithm] 백준 10808번 알파벳 개수

2026. 1. 10. 11:51·algorithm/배열
반응형

 

처음 이 문제를 봤을 때 a~z까지의 배열을 생성해서 하나씩 카운트해야되나? 라는 생각이 들었다

하지만 너무 비효율적이여서

아스키코드로 해결하면 좋겠다고 생각했다

 

a의 아스키코드 값이 97고,b는 98이라는 점을 이용해

문자열을 순회하면서 하나씩 카운팅 해주는 방식으로 풀었다

 

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

int main() {
    int a[26] = {};


    string str;
    cin >> str;

    for(int c : str)
        {
            c -= 97;
            a[c]++;
        }
    for(int b : a)
        {
            cout << b << " ";
        }

    
    return 0;
}

 

배열을 26으로 잡은 이유는 a~z가 총 26개이기 때문이고

배열의 원소값을 알파벳 등장 횟수라고 생각하면 된다

 

배열을 처음에 초기화 해줘야하는 이유는

쓰레기 값을 방지하기 위함이다

초기화되지 않은 배열에 접근해보면 이상한 값이 나온다

 

하지만 배열을 전역변수 영역(main함수 밖)에 선언한다면

자동으로 0으로 초기화되기에

굳이 초기화 해줄 필요가 없다

반응형

'algorithm > 배열' 카테고리의 다른 글

[algorithm] 백준 11328번 Strfry  (0) 2026.01.10
[algorithm] 백준 13300번 방 배정  (0) 2026.01.10
[algorithm] 백준 1475번 방 번호  (0) 2026.01.10
[algorithm] 백준 10807번 개수 세기  (0) 2026.01.10
[algorithm] 백준 2577번 숫자의 개수  (0) 2026.01.10
'algorithm/배열' 카테고리의 다른 글
  • [algorithm] 백준 13300번 방 배정
  • [algorithm] 백준 1475번 방 번호
  • [algorithm] 백준 10807번 개수 세기
  • [algorithm] 백준 2577번 숫자의 개수
20puddle
20puddle
20puddle 님의 블로그 입니다.
  • 20puddle
    20puddle 님의 블로그
    20puddle
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • Spring boot (5)
      • git & github (5)
      • algorithm (47)
        • theory (3)
        • 배열 (7)
        • 연결 리스트 (3)
        • 스택 (5)
        • 큐 (3)
        • 덱 (2)
        • 기초 코드 (19)
        • BFS (5)
      • AI (43)
        • Machine Learning (35)
        • Deep Learning (8)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    DL
    알고리즘
    홀드아웃 검증
    Aimers
    연결리스트
    오프라인 학습
    github
    주성분변환
    그레디언트 클리핑
    list
    ML
    Java
    머신러닝
    AI
    git
    Spring Boot
    백준
    게시판
    인공지능
    딥러닝
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
20puddle
[algorithm] 백준 10808번 알파벳 개수
상단으로

티스토리툴바