티스토리 뷰

 

이걸 계속 봐도 도저히 어떤 식으로 풀어야 할지 몰라서 친구의 도움을 받았다.

 

0을 52개 만들고 my_string에서 해당 글자가 나오면 바로바로 1을 더하면 위치와 개수가 맞는다.

 

대문자면 앞에 26개, 소문자면 뒤에 26개에 해당한다.

 

개수는 나올 때마다 1을 더하면 개수는 해결되고,

 

위치는 유니코드를 이용했다. 

 

<내가 쓴 코드>

def solution(my_string):
    answer = [0]*52
    for i in range(len(my_string)):
        if my_string[i].isupper():
            answer[ord(my_string[i])-ord("A")] += 1
        elif my_string[i].islower():
            answer[ord(my_string[i])-ord("a")+26] += 1
    return answer

 

  1. ord()
    - 하나의 문자를 인자로 받고 해당 문자에 해당하는 유니코드 정수를 반환
    ex. ord('A')를 넣으면 정수 65를 반환
  2. chr()
    - 하나의 정수를 인자로 받고 해당 정수에 해당하는 유니코드 문자를 반환
    ex. chr(65)를 하면 문자 'A'를 반환

  1. islower()
    - 문자열이 전부 소문자인가?
  2. isupper()
    - 문자열이 전부 대문자인가?
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함