https://school.programmers.co.kr/learn/courses/30/lessons/181902
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이 문제는 파이썬 문법과 알파벳 길이를 이용해서 푸는 문제이다.
먼저 문제에서 알파벳 문자의 개수를 나타내는 배열을 리턴할 것을 요구했기 때문에 알파벳의 개수가 52개이므로 개수를 세기 위해서는 answer = [0] * 52를 해줘 길이가 52이고 원소가 다 0인 알파벳 순서를 나타내주는 배열을 선언해준다.
그 후에 for i in my_string을 통해 주어진 문자열을 한 단어씩 받아와 if i.isupper()을 통해 대문자라면 아스키코드와 ord를 이용해 answer[ord(i) -65] += 1를 해준다. ord함수는 주어진 문자를 아스키코드의 값으로 바꿔주는데 아스키코드에서 대문자 A가 65이기때문에 65를 빼줘야 알파벳 순서에 맞는 위치가 나온다.
ex) C는 아스키코드에서 67인데 65를 빼주면 2가 되는데 알파벳 순서를 나타내주는 배열에서 3번째 인덱스 위치의 알파벳은 C이다. 배열의 인덱스는 0부터 시작하니까 answer[2] += 1를 해주면 C 개수가 1이 증가가 된것이다.
else: 즉, 소문자라면 소문자 a의 아스키코드는 71이기때문에 answer[ord(i)-71] += 1을 해준후 for문을 벗어났을 때 return answer를 해주면 된다.

'프로그래머스 > 프로그래머스 Lv0' 카테고리의 다른 글
| Lv0 문자열 계산하기 (0) | 2024.07.02 |
|---|---|
| Lv0 배열 만들기6 (0) | 2024.07.02 |
| Lv0 잘라서 배열로 저장하기 (0) | 2024.07.01 |
| Lv0 [PCCE 기출 문제] 5번 / 산책 (0) | 2024.07.01 |
| Lv0 특수문자 출력하기 (0) | 2024.06.29 |