728x90
📚문제
📝풀이
def solution(my_string):
result = [0]*52
for i in my_string:
if i.isupper(): # i가 대문자라면
result[ord(i)-65] += 1
# ord는 문자열의 유니코드 반환
# ord(i) - 65는 대문자 알파벳의 인덱스
# (ord('A')-65) ~ (ord('Z')-65) => 0~25
else:
result[ord(i)-71] += 1
# ord(i) - 71은 소문자 알파벳의 인덱스
# (ord('a')-71) ~ (ord('z')-71) => 26~52
return result
*ord('str') : str의 유니코드 반환
1) 값이 0인 원소가 52개 있는 리스트 생성
2) my_string을 for문 돌면서 대문자인지 아닌지 확인
3-1) 대문자일경우 ord(i)-65의 대문자 인덱스로 result 리스트에서 인덱싱한 후에 += 1
3-2) 소문자일경우 ord(i)-71의 소문자 인덱스로 result 리스트에서 인덱싱한 후에 += 1
728x90
'Python(알고리즘,문제풀이) > 프로그래머스(코딩기초트레이닝)' 카테고리의 다른 글
코딩기초트레이닝 / 조건에 맞게 수열 변환하기2 - 파이썬 (0) | 2023.10.25 |
---|---|
코딩기초트레이닝 / 가까운 1찾기 (0) | 2023.10.18 |
코딩기초트레이닝 / 문자열 여러 번 뒤집기 (0) | 2023.10.12 |
코딩기초트레이닝 / 주사위게임 3 (0) | 2023.10.12 |
코딩기초트레이닝 / 배열 만들기 2 (1) | 2023.10.10 |