반응형
내 풀이
S의 i번째 글자 출력
첫째줄 문자열
둘째줄 숫자
S = input()
i = int(input())
print(S[i - 1])
문자열을 입력받고 숫자를 입력받은 후, [] 인덱싱을 활용하여 문제를 간단하게 해결했다.
문자열도 리스트처럼 인덱스를 이용해 접근할 수 있기 때문에, []를 사용하여 특정 위치의 값을 쉽게 얻을 수 있다. 이 방식은 문제를 더 효율적으로 풀 수 있게 해주었다.
결과: 정답
또 다른 풀이
arr = list(input())
i = int(input())
print(arr[i-1])
이 방법은 문자열을 리스트 형태로 변환한 후, 인덱싱을 사용하여 문제를 해결하는 방식이다. 리스트처럼 다룰 수 있기 때문에 각 문자에 쉽게 접근할 수 있다.
고찰
list로 만들어 푸는 것과 굳이 list로 만들지 않고 파이썬의 문자열의 특성을 이용한 방법 중 무엇이 더 시간 복잡도가 적을까?
인덱싱에 있어서는 문자열과 리스트 모두 O(1) 시간 복잡도를 가진다. 하지만 리스트로 변환한 후 인덱싱하는 방법은 O(n)의 시간이 소요되기에 시간복잡도 부분에서 문자열을 그대로 인덱싱하는 것이 효율적이다.
반응형
'Coding Test (코딩 테스트)' 카테고리의 다른 글
코딩테스트 15일차(2025.01.31) - 백준9086번(문자열) (0) | 2025.01.31 |
---|---|
코딩테스트 15일차(2025.01.31) - 백준2743번(단어 길이 재기) (0) | 2025.01.31 |
코딩테스트 14일차(2025.01.30) - 백준1546번(평균) (0) | 2025.01.30 |
코딩테스트 14일차(2025.01.30) - 백준10811번(바구니 뒤집기) (0) | 2025.01.30 |
코딩테스트 14일차(2025.01.30) - 백준3052번(나머지) (0) | 2025.01.30 |