728x90
반응형
이번 포스팅은 www.acmicpc.net/problem/5622에서 푼 것을 토대로 작성했습니다.
문자열의 여덟 번째 문제인 다이얼입니다.
문제
문제 해석
1. 대문자로 된 문자열을 입력받는다.
2. 그림의 다이얼과 같이 대응되는 번호를 찾는다.
3. 번호만큼의 시간을 계산하여 최소 시간을 구한다.
Python 코드
s = input().upper()
dial = list(['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV','WXYZ'])
time = 0
for i in range(len(s)) :
for j in range(len(dial)) :
if (s[i] in dial[j]) == True :
time += (j+3)
print(time)
Python 코드 풀이
s = input().upper()
dial = list(['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV','WXYZ'])
1. 문자열을 무조건 대문자로 입력받게 만들고
dial 리스트를 만들어 다이얼 문자열을 보관하였습니다.
for i in range(len(s)) :
for j in range(len(dial)) :
if (s[i] in dial[j]) == True :
time += (j+3)
2. for 문을 만들어 입력 s 길이만큼 반복하고
dial 개수만큼 for문을 또 만들어
s[] in dial[] 을 하여 존재한다면 시간을 올리는 형식으로 코딩을 하였습니다
j + 3을 한 이유는 j가 0부터 시작하기 때문에
다이얼 2부터 문자열이 존재하며 돌리려면 +3초가 되기 때문입니다.
다음 포스팅으로 찾아오겠습니다 :)
728x90
반응형
'Python > 백준 알고리즘' 카테고리의 다른 글
[BaekJoon/Python] : 백준 1316번 - 그룹 단어 체커 (0) | 2021.02.02 |
---|---|
[BaekJoon/Python] : 백준 2941번 - 크로아티아 알파벳 (0) | 2021.01.12 |
[BaekJoon/Python] : 백준 2908번 - 상수 (0) | 2021.01.11 |
[BaekJoon/Python] : 백준 1152번 - 단어의 개수 (0) | 2021.01.11 |
[BaekJoon/Python] : 백준 1157번 - 단어 공부 (0) | 2021.01.08 |