10809
alphaList = [-1] * 26
s = input()
for i in range(len(s)):
idx = ord(s[i]) - ord('a')
if alphaList[idx] == -1:
alphaList[idx] = i
for i in range(len(alphaList)):
print(alphaList[i], end=" ")
의도
1. 입력받은 문자열의 크기 만큼 비교
2. index사용을 위해 문자를 아스키 코드표로 변환
3. 이후 위치 대입
다른 분들의 간단한 풀이
word = input()
for i in 'abcdefghijklmnopqrstuvwxyz':
print(word.find(i))
1. 아예 알파벳을 전부 입력
2. 알파벳 문자열의 길이(28번)만큼 for 문
-> word에서 찾아서 있으면 index값 print , 없으면 find함수 기능으로 자동 -1
2675
내가 짠 코드
# 2675
t = int(input())
newword=""
for i in range(t):
mul, word = input().split()
for _ in range(len(word)):
newword += int(mul)*word[_]
print(newword)
newword =""
-> 파이썬이 익숙하진 않으니 연습할 필요성을 느낌
다른 분이 짜신 코드
T = int(input())
for i in range(T):
N, S = input().split()
for j in S:
print(j*int(N),end='')
print()
2908
a,b = input().split()
a = int(a[::-1])
b = int(b[::-1])
if a>b:
print(a)
else:
print(b)
역순 [::-1]을 알아야 풀 수 있음.
5622
내가 짠 코드
button = {
"A" : 2, "B" : 2, "C" : 2,
"D": 3, "E": 3, "F": 3,
"G" : 4, "H" : 4, "I" : 4,
"J": 5, "K": 5,"L": 5,
"M" : 6, "N" : 6, "O" : 6,
"P" : 7, "Q" : 7, "R" : 7, "S" : 7,
"T" : 8, "U" : 8, "V" : 8,
"W" : 9,"X" : 9,"Y" : 9, "Z" : 9
}
word = input()
t = 0
for l in word:
if l in button.keys():
t += button.get(l) +1
print(t)
-> 직관적이긴 한데 번잡스러움 + 노가다성
word = input()
alp = ['ABC','DEF','GHI','JKL','MNO','PQRS','TUV','WXYZ']
time = 0
for i in range(len(word)):
for k in range(8):
if word[i] in alp[k]:
time += k + 3
print(time)
문자열로 처리한 코드
딕셔너리로 좀 더 덜 노가다적으로 표현하면?
button = {
"ABC": 2,
"DEF": 3,
"GHI": 4,
"JKL": 5,
"MNO": 6,
"PQRS": 7,
"TUV": 8,
"WXYZ": 9
}
S = input()
time = 0
for ch in S:
for key in button:
if ch in key:
time += button[key] + 1
break
print(time)
입력받은 문자열의 문자를 딕셔너리에 있는 키들의 문자열과 비교해야 함.
그래서 ch라는 문자가 key에 들어있다면, ++
이후 해당 문자는 안쪽의 for문을 돌지 않아도 됨.
(S를 돌면서, ch는 button의 key들의 값들과 비교되야 하기 때문에 이중 for문)
11718
while True:
try:
word = input()
print(word)
except EOFError:
break
try except로 EOFError 처리 해줘야함.
'코딩 테스트 > Python' 카테고리의 다른 글
| 백준, Python) 2차원 배열 2566, 10798, 2563 (0) | 2025.04.16 |
|---|---|
| 백준, Python) 심화 1단계 3003, 10988, 1157, 2941, 1316, 25206 (0) | 2025.04.16 |
| 백준, Python) 10870, 10871, 5597 (0) | 2025.04.08 |
| 백준, Python) 15552, 10951 (0) | 2025.04.07 |
| 백준, Python) 2단계 2525, 2480 (0) | 2025.04.04 |