Programmers/코딩 기초 트레이닝
[프로그래머스] 문자 개수 세기 ^^
jjam-mo
2024. 2. 21. 15:50

이걸 계속 봐도 도저히 어떤 식으로 풀어야 할지 몰라서 친구의 도움을 받았다.
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
- ord()
- 하나의 문자를 인자로 받고 해당 문자에 해당하는 유니코드 정수를 반환
ex. ord('A')를 넣으면 정수 65를 반환 - chr()
- 하나의 정수를 인자로 받고 해당 정수에 해당하는 유니코드 문자를 반환
ex. chr(65)를 하면 문자 'A'를 반환
- islower()
- 문자열이 전부 소문자인가? - isupper()
- 문자열이 전부 대문자인가?