연습장
49. 문자개수 세기 본문
Q. 알파벳 대소문자로만 이루어진 문자열 my_string이 주어질 때, my_string에서 'A'의 개수, my_string에서 'B'의 개수,..., my_string에서 'Z'의 개수, my_string에서 'a'의 개수, my_string에서 'b'의 개수,..., my_string에서 'z'의 개수를 순서대로 담은 길이 52의 정수 배열을 return 하는 solution 함수를 작성해 주세요.
result = [ ] 라는 배열안에 0 이 각각 26개씩 (A-Z , a-z) 총 52개 가 존재하는 배열이 있다.
주어진 my_string 에 따라서 A 일 경우 0 번째 인덱스가 1 증가.
AAB 일 경우 0번째 인덱스가 2증가 , 1번째 인덱스가 1 증가 이런식으로 카운팅 해주는게 목표이다.
잘 생각해봤는데
항상 이런 문제를 보면 유니코드로 변환하는게 먼저 생각난다.
직접 A-z 까지 뭔가 기준이 될 배열이나 dic를 만들지 않고는 풀 수 없을까 하다가
결국 유니코드를 이용해서 풀었다.
문자 1개를 우리가 원하는 배열의 인덱스 숫자로 바꾸는 함수 StoN 을 정의하고
A의 값이 유니코드로 65인데 우리가 원하는 값은 0 이 되야 하므로 65 를 빼고
소문자의 경우 그다음 else if 문에서 진행하는데
a 의경우 유니코드로 97 이므로 97을 뺀 후 A-Z 자리 다음인 26번째 자리에 오도록 26을 더해주었다.
0 이 52개 든 배열을 만든다음
my_string 을 확인해서 배열의 숫자를 바꿔 주었다.
'프로그래머스 > 0단계' 카테고리의 다른 글
51. 2의 영역 (1) | 2023.07.10 |
---|---|
50. 리스트 자르기 (0) | 2023.07.10 |
48. 세로 읽기 (0) | 2023.07.10 |
47. 문자열 뒤집기 (0) | 2023.07.10 |
46. 문자열의 앞의 n글자 (0) | 2023.07.10 |