오늘은 백준 27866번에 대해 잠깐 풀이하고자 한다!

처음 문제를 받고 시도한 접근 방법!!
1. 리스트를 만들고 input함수로 받는다 -> 이것을 split 함수를 사용해 분리한 뒤 리스트 인덱스를 출력하면 문제해결!!
이라고 생각해서 시도한 코드가 바로 아래..
eng = list()
eng = input().split()
num = int(input())
print(eng[num-1])
근데 이렇게 하니 IndexError가 생긴다

처음에는
print(eng[num])
이라고 적어서 인덱스 범위 초과 오류가 생긴 줄 알았는데 (index는 0부터 시작하니까) num-1로 수정해도 같은 오류가 생기는 것을 보고 이상함을 감지했다
그래서 split에 관한 레퍼런스를 찾아본 결과.....-> 공백과 다른 특수기호 등 다양한 것들을 포함한 상황에선 분리할 수 있지만 자간을 분리하는 상황은 찾아볼 수 없었다..
이론적으로는 split함수를 사용해 리스트에 글자 하나씩 넣으면 된다고 생각했는데 이게 아니었다
답은 바로 input을 리스트로 받으면 된다!!
str = list(input())
이런 식으로 리스트로 input 받게 되면 아래처럼 알아서 리스트 인덱스 하나하나에 자동으로 넣어준다
만약 "안녕하세요! 해코딩입니다"를 입력 받았다면
['안', '녕', '하', '세', '요', '!', ' ', '해', '코', '딩', '입', '니', '다']
이렇게 자동으로 리스트에 하나씩 들어간다
그럼 이제 문제 해결 가능!!

이처럼 "안녕하세요! 해코딩입니다"를 입력하고 숫자 8을 입력하면 eng[8-1]의 인덱스인 eng[7]가 출력되어 "해"가 출력된당

헤헤 해결완료!! 기본부터 튼튼히 다져야겠어용 감사합니당
(오류나 더 좋은 해결방법 있으면 말해주세요!)
'코딩 > Python' 카테고리의 다른 글
| 파이썬 for 문 무한반복(무한루프) 사용법과 end=' ' 함수 (Python) (0) | 2024.07.04 |
|---|---|
| 파이썬 예외처리 (백준 10951번) - Python EOFError (1) | 2024.07.03 |






