Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 쉬운 코드
- concurrency control
- B tree 데이터삽입
- 반효경
- 커널 동기화
- CPU 스케줄링
- 운영체제
- Extendable hashing
- 백엔드
- 인터럽트
- Git
- 프로세스 주소 공간
- SDK
- SQL
- 쉬운코드
- 시스템프로그래밍
- 트랜잭션
- 갤럭시 S24
- 온디바이스AI
- 코딩애플
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 데이터베이스
- recoverability
- 김영한
- 운영체제와 정보기술의 원리
- 네트워크
- vite
- 개발남노씨
- 시그널 핸들러
- 코딩테스트 [ ALL IN ONE ]
Archives
- Today
- Total
티끌모아 태산
[백 준/구현] 5622: 다이얼 - 파이썬 본문
728x90
https://www.acmicpc.net/problem/5622
5622번: 다이얼
첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.
www.acmicpc.net
구현 문제를 푸는 능력이 많이 부족해서 매일 2~3씩 문제를 풀어보려고 노력하고 있다. 처음에는 코드가 쓰레기라도 돌아가도록 해보자 라는 생각으로 풀고있다. 이번 문제 역시 깔끔하지 못하게 풀었고 다른 사람들의 코드를 보며 개선할 수 있었다.
s = input()
arr = list(s)
#print(arr)
one = 1
two = ['A','B','C']
three = ['D','E','F']
four = ['G','H','I']
five = ['J','K','L']
six = ['M','N','O']
seven = ['P','Q','R','S']
eight = ['T','U','V']
nine = ['W','X','Y','Z']
count = 0
for i in arr:
if i in two:
count += 3
elif i in three:
count += 4
elif i in four:
count += 5
elif i in five:
count += 6
elif i in six:
count += 7
elif i in seven:
count += 8
elif i in eight:
count += 9
elif i in nine:
count += 10
print(count)
처음에는 위 코드와 같이 다이얼 별로 리스트로 나누워서 입력받은 문자열이 해당 리스트에 있는지 확인하고 count를 하는 방법으로 풀었다. 개선된 코드는 다음과 같다.
#다이얼 별 문자리스트
alpabet_list = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
word = input()
count = 0
for unit in alpabet_list:
for i in unit: # alpabet 리스트에서 각 요소를 꺼내 한 글자씩 분리
for x in word: # 입력받은 문자를 하나씩 분리
if i == x: #두 알파벳이 같으면
count += alpabet_list.index(unit) + 3 # count = count + index + 3
print(count)
다이얼별 통합 문자열 리스트를 하나 선언하고 3중 반복문을 통해서 계산하는 방식이다. 단어의 길이가 2<= 단어 <=15 이기 때문에 3중 반복문을 통해 풀어도 무방하다.
728x90
'백준 문제' 카테고리의 다른 글
[백 준/구현] 10870: 세 수 - 파이썬 (0) | 2023.10.06 |
---|---|
[백 준/구현] 1110: 더하기 사이클 - 파이썬 (1) | 2023.10.05 |
[백 준/문자열] 1919: 애너그램 만들기 - 파이썬 (0) | 2023.02.08 |