[백준] 10808 - 알파벳 개수 (Python)

민영·2021년 8월 22일
0

[Algorithm] 백준

목록 보기
11/31
post-thumbnail

문제

https://www.acmicpc.net/problem/10808

제출 코드

import sys

sentence = sys.stdin.readline().rstrip()

alphabet = {'a': 0, 'b': 0, 'c': 0, 'd': 0, 'e': 0,
            'f': 0, 'g': 0, 'h': 0, 'i': 0, 'j': 0,
            'k': 0, 'l': 0, 'm': 0, 'n': 0, 'o': 0,
            'p': 0, 'q': 0, 'r': 0, 's': 0, 't': 0,
            'u': 0, 'v': 0, 'w': 0, 'x': 0, 'y': 0, 'z': 0}

for s in sentence:
    alphabet[s] += 1

for n in alphabet.values():
    print(n, end=' ')

결과


정리

개념

사전이 '단어'와 그 단어를 설명하는 '뜻'으로 구성되어 있는 것과 마찬가지로 파이썬의 딕셔너리(Dictionary)도 키(key)와 값(value)의 쌍으로 이루어져 있다.

아래와 같이 딕셔너리를 생성할 수 있다.

딕셔너리명 = { 키: 값, 키: 값, ... }
ex) score = {'kor': 90, 'eng': 95, 'math': 100}

딕셔너리를 print하면 딕셔너리 전체(key, value 모두)가 출력된다.
따라서 key값만 얻고 싶을때는 '.keys()'를 사용하고 value값만 얻고 싶을때는 '.values()'를 사용한다.

score = {'kor': 90, 'eng': 95, 'math': 100}

print(score) 		 ### {'kor': 90, 'eng': 95, 'math': 100}
print(score.keys()) 	 ### dict_keys(['kor', 'eng', 'math'])
print(score.values())    ### dict_values([90, 95, 100])

출력되는 형태를 통해 '.keys()'와 '.values()'가 "리스트" 형태라는 것을 알 수 있다!
따라서 리스트 요소를 출력하듯이 출력하면 key값과 value값을 하나씩 출력할 수 있다!!

score = {'kor': 90, 'eng': 95, 'math': 100}

for subject in score.keys():
    print(subject, end=' ') 	### kor eng math 
    
for n in score.values():
    print(n, end=' ')		### 90 95 100
    

주석있는 코드

import sys

sentence = sys.stdin.readline().rstrip()

alphabet = {'a': 0, 'b': 0, 'c': 0, 'd': 0, 'e': 0,
            'f': 0, 'g': 0, 'h': 0, 'i': 0, 'j': 0,
            'k': 0, 'l': 0, 'm': 0, 'n': 0, 'o': 0,
            'p': 0, 'q': 0, 'r': 0, 's': 0, 't': 0,
            'u': 0, 'v': 0, 'w': 0, 'x': 0, 'y': 0, 'z': 0}

for s in sentence: # 알파벳 개수 세서 value값에 저장하기
    alphabet[s] += 1

for n in alphabet.values(): # 결과 출력
    print(n, end=' ')

느낀점

딕셔너리말고 다른 방법도 찾아봐야겠다.

profile
그날의 기록

0개의 댓글