https://www.acmicpc.net/problem/10809
사용자가 소문자로 이루어진 단어를 입력하면, 단어에 포함된 알파벳이 첫 번째로 등장하는 위치를 출력한다.
처음 위치는 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()를 붙이지 않아 값이 충분하지 않다는 에러가 발생하였다.
딕셔너리를 좀 더 사용하면서 사용법에 능숙해질 필요성이 있다.
해당 코드는 에디터가 코드 연습을 위해 직접 작성하였습니다.
혹시 오류가 있거나 더 좋은 코드 방향성을 아시는 분은 댓글로 남겨주시면 감사하겠습니다..!
[Baekjoon] 백준 2581번 문제 풀이 (Python) (0) | 2021.08.13 |
---|---|
[Baekjoon] 백준 1271번 문제 풀이 (Python 나눗셈) (0) | 2021.08.07 |
[Baekjoon] 백준 10872번 문제 풀이 (Python) (0) | 2021.08.05 |
[Baekjoon] 백준 5086번 문제 풀이 (Python) (0) | 2021.08.04 |
[Baekjoon] 백준 1157번 문제 풀이 (Python) (0) | 2021.08.03 |