Baekjoon 문제 풀기 (5622번 : 다이얼) Python

5622번 : 다이얼

1. 문제읽기


문자열 비교 후 카운트

처음 막혔던 부분은 다이얼을 어떻게 나눠줄 것인지였다.
3개씩 나눠진다고 하기엔 4개의 알파벳이 있는 숫자도 있어서 규칙을 찾기가 어려웠다.
두번째 막혔던 부분은 문자열을 어떻게 비교할 것인지이다.
처음 막혔던 부분과 맥락이 같아서 사실 처음이 막히니 두번째 부분도 막혔던 것 같다.

결국 포기하고.. 코드를 봤다.
내가 너무 어렵게 생각했던 것 같다.
알고리즘 문제라고 생각해서 무조건 효율적인 코드를 짜야해! 라는 생각이 강해서 접근 방법은 똑같았지만 결국 문제는 풀지 못한 것이다.
단순하게 생각하자..

2. 제출 코드


alpa = list(input())

dial = ["ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ"]
count = 0

for i in alpa:
    for j in range(len(dial)):
        if i in dial[j]:
            count += j+3

print(count)

3. 공부할 것


====== 9/28 재도전!

로직은 맞았는데.. 바보같이 이중 리스트를 만들었다!!!
그냥 문자열 리스트를 만들면 됐는데…
그래도 생각해낸 거에 만족!!

dial = [['A','B','C'],['D','E','F'],['G','H','I'],['J','K','L'],['M','N','O'],
        ['P','Q','R','S'],['T','U','V'],['W','X','Y','Z']]
n = input()
count = 0
for i in n:
    for j in range(len(dial)):
        if i in dial[j]:
            count += j+3

print(count)

댓글남기기