https://school.programmers.co.kr/learn/courses/30/lessons/181902
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Algorithm
- 길이 52의 정수 배열 선언
- 문자열을 순회하면서 각 알파벳의 개수를 센다.
- 대문자인 경우 answer[c - 'A']++;, 소문자인 경우 answer[26 + c - 'a']++; 를 통하여 해당 알파벳의 개수 증가
cf )
'A'의 ASCII 값(65)
'a'의 ASCII 값(97)
알파벳 개수 26
Python
def solution(my_string):
answer = [0]*52
for x in my_string:
if x.isupper():
answer[ord(x)-65] += 1
else:
answer[ord(x)-97+26] += 1
return answer
Java
class Solution {
public int[] solution(String my_string) {
int[] answer = new int[52];
// 문자열 순회
for(int i = 0; i < my_string.length(); i++) {
char c = my_string.charAt(i);
if(c >= 'A' && c <= 'Z'){ // 대문자인 경우
answer[c - 'A']++;
} else if (c >= 'a' && c <= 'z'){ // 소문자인 경우
answer[26 + c - 'a']++;
}
}
return answer;
}
}
'자료구조&알고리즘 > 프로그래머스' 카테고리의 다른 글
[Programmers] 글자 지우기 (JAVA, PYTHON) (0) | 2023.09.21 |
---|---|
[Programmers] 배열 만들기 1 (0) | 2023.09.21 |
[Programmers] 세로 읽기 (0) | 2023.09.21 |
[Programmers] 문자열 뒤집기 (0) | 2023.09.21 |
[Programmers] 접미사인지 확인하기 (0) | 2023.09.20 |