AngelPlayer`s Diary

링크

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

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

 

 

 

문제 해석

사용자가 소문자로 이루어진 단어를 입력하면, 단어에 포함된 알파벳이 첫 번째로 등장하는 위치를 출력한다.

처음 위치는 0으로 한다. ex) abc를 입력하면 a=0, b=1, c=2

 

이때 단 한 번도 포함되지 않는 알파벳은 -1로 처리한다.

 

 

 

 

코드

 

 

 

코드 해석

# input

사용자에게 단어를 입력받는다.

 

 

# process

string 모듈의 ascii_lowercase를 이용하여 알파벳 딕셔너리를 만든다. (line 7-9)

이때 딕셔너리의 value 값은 -1로 지정한다.

 

딕셔너리 생성 이후 사용자에게 입력받은 단어의 한 글자씩 불러와서 딕셔너리에 해당 알파벳의 value 값을 확인한다. (line 13)

만약 value가 -1(이전에 한 번도 등장한 적이 없음)인 경우에만 현재 단어의 알파벳 순서를 value로 수정한다. (line 14)

 

 

# output

모든 딕셔너리를 돌면서 value값을 모아 결과 값으로 만들어 출력한다.

 

 

 

발생한 문제 & 해결 방안

Traceback (most recent call last):
  File "D:\Study\Example\10809.py", line 17, in <module>
    for key, value in alphabet_dict:
ValueError: not enough values to unpack (expected 2, got 1)

output 결과값 for문에서 딕셔너리 뒤에 .items()를 붙이지 않아 값이 충분하지 않다는 에러가 발생하였다.

딕셔너리를 좀 더 사용하면서 사용법에 능숙해질 필요성이 있다.

 

 

 

 

 

해당 코드는 에디터가 코드 연습을 위해 직접 작성하였습니다.

혹시 오류가 있거나 더 좋은 코드 방향성을 아시는 분은 댓글로 남겨주시면 감사하겠습니다..!

공유하기

facebook twitter kakaoTalk kakaostory naver band