코딩테스트/프로그래머스

[프로그래머스] Python3 문자 개수 세기

Developer D 2024. 1. 4. 17:03
반응형

문제 설명
알파벳 대소문자로만 이루어진 문자열 my_string이 주어질 때, my_string에서 'A'의 개수, my_string에서 'B'의 개수,..., my_string에서 'Z'의 개수, my_string에서 'a'의 개수, my_string에서 'b'의 개수,..., my_string에서 'z'의 개수를 순서대로 담은 길이 52의 정수 배열을 return 하는 solution 함수를 작성해 주세요.

def solution(my_string):
    answer = [0 for i in range(52)]
    tmp=[]
    for i in range(len(my_string)):
        if ord(my_string[i]) <= 90:
            tmp.append(ord(my_string[i])-65)
        else :
            tmp.append(ord(my_string[i])-71)

    for j in range(len(tmp)):
        answer[tmp[j]] = answer[tmp[j]] + 1
    return answer

 

  • ord() : 특정 캐릭터를 아스키 코드 숫자로 변환해줌
  • ord('A') = 65
  • ord('Z') = 90
  • Z~a 사이의 특수문자 6개 
  • ord('a') = 97 이므로 Z이후 6칸을 붙여서 배열에 배치
반응형