백준 [단계별로 풀어보기]: (5단계) "문자열", python
1. 문제번호 및 정답비율

2. 문제별 필요 지식 및 풀이 포인트
# 1. 27866 문자와 문자열
# 2. 2743 단어 길이 재기
# 3. 9086 문자열
# 4. 11654 아스키 코드
ord() : ascii값 리턴
chr() : ascii에 해당하는 문자 리턴
# 5. 11720 숫자의 합
# 6. 10809 알파벳 찾기
다시풀기
instance.index(i) : 특정 원소i의 인덱스를 반환해주는 함수
# 7. 2675 문자열 반복
다시풀기
#s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./:"
# 8. 1152 단어의 개수
# 9. 2908 상수
max(), reversed() 이용
' '.join(sequence) : sequence를 'sequence'문자열로 반환
# 10. 5622 다이얼
'''아.. 자세히 보니까 2=abc, 3=def, .. 이렇게 써있네 unucic에서 c를 2로 못박아버리니까 wa에서 계산이 안됐지..'''
'''dict 혹은 list을 이용 : dict대신 list와 enumerate(list)를 쓰는 것이 더 빠르다'''
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
s = input()
sec = 0
for i in s:
for idx, val in enumerate(dial):
if i in val:
sec += (idx+3)
print(sec)
# 11. 11718 그대로 출력하기
EOF(파일의끝, =입력값이 없어지는 상황)에 대해 알기
참고) https://www.acmicpc.net/board/view/28332'''
3. 문제별 풀이 코드
# 1. 27866 문자와 문자열
'''s = input()
n = int(input())
print(s[n-1])'''
print(input()[int(input())-1]) #숏코딩
# 2. 2743 단어 길이 재기
print(len(input()))
# 3. 9086 문자열
for i in range(int(input())):
w = input()
print(w[0]+w[-1])
# 4. 11654 아스키 코드
#ord() : ascii값 리턴
#chr() : ascii에 해당하는 문자 리턴
print(ord(input()))
# 5. 11720 숫자의 합
n = int(input())
s = list(map(int, input()))
print(sum(s))
# 6. 10809 알파벳 찾기
'''다시풀기'''
'''instance.index(i)는 특정 원소i의 인덱스를 반환해주는 함수'''
s = input()
sen = "abcdefghijklmnopqrstuvwxyz"
for i in sen: #sen의 원소i가
if i in s: #s에도 있으면,
print(s.index(i), end=' ') #s의i의 index를 호출
else:
print(-1, end=' ')
# 7. 2675 문자열 반복
'''다시풀기'''
#s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./:"
for _ in range(int(input())):
n, s = input().split()
for i in range(len(s)): #문자s길이만큼 원소s[i]를 곱해준다.
print(int(n)*s[i], end='')
print()
# 8. 1152 단어의 개수
s = input().split()
print(len(s))
# 9. 2908 상수
'''max(), reversed() 이용'''
''' ''.join(sequence) : sequence를 'sequence'문자열로 반환 '''
n,m = input().split() #734 893을
print(max(''.join(reversed(n)), ''.join(reversed(m)))) #437 398로 뒤집어 문자열로 반환
'''n = int(n[::-1]) #뒤집기
m = int(m[::-1])
if n>m:
print(n)
else:
print(b)'''
#다이얼 5622
'''아.. 자세히 보니까 2=abc, 3=def, .. 이렇게 써있네
unucic에서 c를 2로 못박아버리니까 wa에서 계산이 안됐지..
'''
'''dict이용'''
sec={'ABC':3, 'DEF':4, 'GHI':5, 'JKL':6, 'MNO':7, 'PQRS':8, 'TUV':9, 'WXYZ':10}
s = input()
result = 0
#print(sec.items()) #[('abc',3), ('def',4), ..]
#print(sec.keys()) #['abc','def',..]
for i in s: # w a
for j,k in sec.items(): #[('abc',3), ('def',4), ..]
if i in j: # w in 'wxyz', a in 'abc'
result += k # 10 3
print(result) #13
'''list이용 : dict대신 list와 enumerate(list)를 쓰는 것이 더 빠르다'''
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
s = input()
sec = 0
for i in s:
for idx, val in enumerate(dial):
if i in val:
sec += (idx+3)
print(sec)
# 11. 11718 그대로 출력하기
'''EOF(파일의끝, =입력값이 없어지는 상황)에 대해 알기'''
'''참고) https://www.acmicpc.net/board/view/28332'''
while True:
try:
print(input())
except EOFError:
break'PS > BOJ : 단계별로 풀어보기' 카테고리의 다른 글
| 백준 [단계별로 풀어보기]: (7단계) "2차원 배열", python (2) | 2024.08.23 |
|---|---|
| 백준 [단계별로 풀어보기]: (6단계) "심화 1", python (2) | 2024.08.22 |
| 백준 [단계별로 풀어보기]: (4단계) "1차원 배열", python (3) | 2024.08.17 |
| 백준 [단계별로 풀어보기]: (3단계) "반복문", python (2) | 2024.08.17 |
| 백준 [단계별로 풀어보기]: (2단계) "조건문", python (1) | 2024.08.17 |