코딩 테스트/파이썬
[백준 파이썬] 단계별로 풀어보기 - Lv5.문자열
HHRR
2023. 5. 27. 23:14
# 27866 문자와 문자열
#단어 S와 정수 i 주어짐
#S의 i번째 글자 출력
S = input()
i = int(input())
print(S[i-1])
# 2743 단어 길이 재기
#알파벳 입력받아 길이 출력
x = input()
print(len(x))
# 9086 문자열
#문자열 입력
#문자열 첫 글자와 마지막 글자 출력
T=int(input()) #테스트 케이스 개수
for _ in range (T) :
x = input()
print(x[0]+x[-1]) #x[-1]은 마지막 글자
- x[-1] : 마지막 글자
# 11654 아스키 코드
#주어진 글자의 아스키코드값 출력
x = input()
print(ord(x))
- ord() : 아스키 코드값 리턴 함수
- chr() : 아스키 코드값 입력 받아 코드에 해당하는 문자 리턴
# 11720
# 공백없이 주어진 숫자 합해서 출력
N = int(input())
print(sum(map(int,input())))
- map 함수: map(function, iterable)
map함수로 각 자리 수를 int로 변환, 그 이후 sum으로 모두 합한 값 출력
# 10809 알파벳 찾기
# 알파벳 소문자로만 이뤄진 단어 S 주어짐.
# 단어에 포함되어 있는 경우, 처음 등장 위치
# 포함되지 않은 경우, -1 출력
#a~z 아스키코드 : 97~122
S = input()
alphabet = list(range(97,123)) #range함수로 숫자 범위생성후 리스트로 변환
for x in alphabet : #alphabet리스트의 숫자로 이루어진 원소를 변수 x에 선언
print(S.find(chr(x)), end= ' ') #숫자를 문자로
- a~z 아스키코드 : 97~122
- for x in [list] : list 숫자로 이루어진 원소 변수 x에 선
- find() : 문자열에서만 사용가능(찾는 문자 문자열 안에 없으면 -1 출력)
- index() : 문자열, 리스트, 튜플 등 사용가능 인덱스 반환 함
# 2675 문자열 반복
# 문자열 S 입력받음
# 각 문자를 R번 반복 -> 새 문자열 P 생성후 출력
# T : 테스트 케이스
T = int(input())
for _ in range (T):
R, S = input().split()
for x in S: #S문자열 각 원소 x에 할당
print(x*int(R), end='') #x R번 반복
print() #줄넘김
- for x in S : S문자열의 각 원소 x에 할당
- R 문자열로 입력받고 int로 변환시켜줌
- 문자*숫자 : 문자 숫자만큼 반복
# 1152 단어의 개수
# 영어 대소문자와 공백으로 이뤄진 문자열 주어짐
# 단어 개수 구하는 프로그램
X = input()
count = list(X.split()) #공백기준 문자열 나누고 리스트로
print(len(count))
# 2908 상수
# 주어진 숫자 순서 거꾸로 한 후 최댓값 출력
A, B = input().split()
A = int(A[::-1]) #역순 출력후 int로 변환
B = int(B[::-1])
print(max(A,B)) #최댓값 출력
- A[::-1] : 문자열 역순 출력
- 역순 출력 방법
1. 리스트로 받아준 후 역순으로 바꿔 숫자형 변환
2. 문자형에서 바로 역순으로 바꾼 뒤 숫자형 변환
# 5622 다이얼
# 1 : 2초
# 한 칸 옆 : 1초씩 더
# + 글자 개수 씩 더 걸림
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']
A = input()
ret = 0
for i in range(len(A)):
for j in dial : #j를 dial 안의 문자로 할당하여 다 돌리기
if A[i] in j : # A[i]에 j문자가 있으면 index값에 +3
ret += (dial.index(j) + 3)
print(ret)
- 알파벳 숫자+1 씩 해주면 전화 걸기 위한 최소 시간 나옴
# 11718 그대로 출력하기
#입력받은 그대로 출력
while (True):
try :
print(input())
except EOFError:
break
- 에러 발생시에 while문 탈출하고 싶음
-> try except 사용
except에 EOFError 이라면 break하라고 하면 됨
- print(input()) : 이렇게 쓸 수 있음