프로그래머스/기초

[프로그래머스] Lv.0 /문자 개수 세기 (파이썬/Python)

junslee 2025. 2. 23. 06:55

1. 문제 설명

2. 풀이 과정 

결과를 넣을 변수 counts를 [0]으로 52개인 리스트로 초기화한다.

my_string에 문자를 반복문으로 받아

대문자랑 소문자를 구분해서 아스키 코드로 인덱스를 계산해서 counts에 1을 추가한다.

인덱스는 대문자인 경우에는 'A'의 아스키 코드 값만큼만 빼면 0부터 시작이지만

소문자인 경우에는 'a'를 빼면 0이므로 26을 더해서 26부터 시작하도록 한다.

3. 코드

def solution(my_string):
    counts = [0] * 52
    for char in my_string:
        if 'A' <= char <= 'Z':
            counts[ord(char) - ord('A')] += 1
        elif 'a' <= char <= 'z':
            counts[ord(char) - ord('a') + 26] += 1
    return counts