백준 5622 파이썬

2024. 2. 3. 06:55코딩/백준 (단계별)

반응형

백준 5622 : 다이얼

문제

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

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

 

백준 5622

답안 코드 :

dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] # 2초부터 1초씩
a = input()
ret = 0
for j in range(len(a)):
    for i in dial:
        if a[j] in i:
            ret += dial.index(i)+3
print(ret)

 

백준 / 문제 / 단계별로 풀어보기 / 5단계 문자열

dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] # 2초부터 1초씩
a = input()
ret = 0
for j in range(len(a)):
    for i in dial:
        if a[j] in i:
            ret += dial.index(i)+3
print(ret)

 

생각 :

# dial 리스트는 각 알파벳이 속한 다이얼을 나타냅니다.
# 사용자로부터 입력된 단어를 각 문자에 대해 반복합니다.
# 현재 문자가 어떤 다이얼에 속하는지를 찾고, 해당 다이얼의 인덱스에 3을 더해 최소 시간으로 누적합니다.
# 최종적으로 누적된 값이 전화를 걸기 위해 필요한 최소 시간이 됩니다.


# 다이얼에 대한 정보를 리스트로 정의합니다.
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']  # 2초부터 1초씩

# 사용자로부터 단어를 입력받습니다.
a = input()

# 필요한 최소 시간을 저장할 변수를 초기화합니다.
ret = 0

# 입력된 단어의 각 문자에 대해서 반복합니다.
for j in range(len(a)):
    # 다이얼 리스트를 순회하면서 현재 문자가 속한 다이얼을 찾습니다.
    for i in dial:
        if a[j] in i:
            # 현재 다이얼의 인덱스에 3을 더한 값을 누적으로 더해줍니다.
            # 이때, 다이얼의 인덱스에 3을 더하는 이유는 다이얼의 첫 숫자가 2이기 때문입니다.
            ret += dial.index(i) + 3

# 최종적으로 구해진 총 시간을 출력합니다.
print(ret)
반응형

'코딩 > 백준 (단계별)' 카테고리의 다른 글

백준 25083 파이썬 , 귀여워  (48) 2024.02.04
백준 11718 파이썬 , try,except 구문  (47) 2024.02.03
백준 2908 파이썬  (2) 2024.02.02
백준 1152 파이썬  (49) 2024.02.02
백준 2675 파이썬  (1) 2024.02.01