10808번 - 알파벳 개수

의혁·2025년 1월 13일
0

[Algorithm] 알고리즘

목록 보기
12/50

💡아스키코드를 잘 사용하면 좋다.

# a부터 z까지 총 26개
num = [0] * 26

word = list(input())

for i in word:
    num[ord(i)-97] += 1
    
for j in num:
    print(j, end=' ')
  • 이번 문제는 상대적으로 아주 쉬운 문제였다.
  • 그래서 시간복잡도 측면에서 좋은 코드가 없을까 생각해보았다.
  • 26개(a부터 z까지 총 갯수)의 배열의 인덱스가 각각 해당하는 알파벳을 가르킬 수 있도록 ord()를 사용하였다.
  • ord('a') = 97이므로, 97-97 = 0 인 0번 index부터 지정하여서 입력받은 문자열을 돌면서 해당 요소의 값을 1씩 증가시키도록 구현하였다.

💡 코테 스터디에서 나온 좋은 풀이 방식

  • 우진님
    => print(f"{} ", j)를 사용해서 프린트 문을 개선하셨습니다.

  • 서현님
    => 리스트의 모든 요소를 출력할 경우 *를 사용하면된다.
    => print(*num)

profile
매일매일 차근차근 나아가보는 개발일기

0개의 댓글