728x90
반응형
안녕하세요. 지난 포스팅의 BOJ 2908번 : 상수에서는 슬라이싱을 이용한 문자열 뒤집기 방법을 이용해서 문제를 풀어보았습니다. 오늘도 역시 문자열과 관련된 문제를 풀어보도록 하겠습니다.
완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다.
핵심 포인트
- 문자열 자료형
제출 코드
S = input()
T = 0
for s in S :
if s < "D" : T += 3
elif s < "G" : T += 4
elif s < "J" : T += 5
elif s < "M" : T += 6
elif s < "P" : T += 7
elif s < "T" : T += 8
elif s < "W" : T += 9
else : T += 10
print(T)
해설
문제는 단순합니다. 다이얼의 각 숫자별로 여러 개의 알파벳들이 매칭되어있습니다. 입력이 알파벳으로 들어오게 되는데 해당 알파벳을 포함하는 다이얼 숫자를 돌리는 데 걸리는 시간을 출력해주면 됩니다. 다만, 숫자를 돌리는 데 걸리는 시간은 돌리는 숫자에 1을 더한 것으로 예를 들어 4번 다이얼을 돌리면 다이얼을 돌리는 데 5초가 걸린다는 것을 의미합니다.
저희는 입력된 문자열을 받고 하나씩 순회하면서 알파벳이 포함된 숫자를 조건문을 이용해서 검사하고 맞다면 해당 숫자 다이얼을 돌리는 데 시간을 더해줍니다. 만약, 아니라면 다음 조건문을 검사하게 되죠. 이를 계속 반복하게 되면 모든 문자열에 대한 다이얼을 돌리는 시간을 출력할 수 있습니다.
참고자료 및 그림출처
728x90
반응형
'Programming > Coding Problem' 카테고리의 다른 글
BOJ 1316번 : 그룹 단어 체커 (0) | 2022.07.04 |
---|---|
BOJ 2941번 : 크로아티아 알파벳 (0) | 2022.07.03 |
BOJ 2908번 : 상수 (0) | 2022.07.01 |
BOJ 1152번 : 단어의 개수 (0) | 2022.06.28 |
BOJ 1157번 : 단어 공부 (0) | 2022.06.28 |