백준 5622번: 다이얼

백준 5622번: 다이얼

📌 문제

문제

예시

(입력)
UNUCIC

(출력)
36

📌 코드

코드

import sys
input = sys.stdin.readline

def get_number(s) : #s=알파벳
    x = ord(s)
    if x <= ord('C') :
        return 2
    elif x <= ord('F') :
        return 3
    elif x <= ord('I') :
        return 4
    elif x <= ord('L') :
        return 5
    elif x <= ord('O') :
        return 6
    elif x <= ord('S') :
        return 7
    elif x <= ord('V') :
        return 8
    elif x <= ord('Z') :
        return 9

result = 0
dials = list(input().rstrip())
for dial in dials :
    num = get_number(dial)
    result += num

print(result + len(dials))

접근

  • 어떻게 간결하게 코드를 짤까... 생각을 하다가 그냥 if~elif 사용
  • index 값으로의 접근법도 생각 해 볼 수 있음.

✍ 메모

import sys

a = sys.stdin.readline().split()

b = list(input())

c = list(sys.stdin.readline())

print(a)
print(b)
print(c)

# 모두 abc 입력
['abc']
['a', 'b', 'c']
['a', 'b', 'c', '\n']
  • split() 은 공백으로 나눈다.

    (입력)
    a b c

    (출력)
    ['a', 'b', 'c']

  • 문자 하나하나 list로 만들어 주고 싶다면 split() 없이 list(input())

  • sys.stdin.readline()list에서 맨 마지막 개행문자 \n 까지 출력한다. (rstrip() 을 써주는 것이 좋다.)

좋은 웹페이지 즐겨찾기