데이터 코딩랩

백준 27866 파이썬 문자와 문자열 본문

Algorithm/백준

백준 27866 파이썬 문자와 문자열

researcher 틴틴 2025. 4. 15. 11:33

https://www.acmicpc.net/problem/27866

 

 

 

📄 실전 문제 접근 체크리스트



1단계: 문제 파악

☑️ 문제 요구사항 한 줄로 정리    

: i번째 글자 출력하기

 

추가) 주어진 문자열의 i번째 글자를 출력하라 (1-indexed)

 

 

☑️ 예제 입력/출력 확인

: 입력: 소문자, 대문자 (S<1000)

: 출력 : 소문자, 대문자

 

추가)

입력: 문자열 S, 정수 i

출력: 문자열 S의 i번째 글자 1개

단순 출력 문제


   
2단계: 입력 범위 → 시간복잡도 판단
입력 크기 (N) 적정 알고리즘 복잡도

 

 

 

☑️ 입력 크기 체크 후 -> 내가 쓸 수 있는 알고리즘 선별

N ≤ 1,000 O(N²) 가능 이거인가요?

입력받는법

두줄 입력이고, 첫째줄은 리스트로 문자열을 받고, 둘째줄에 정수를 받는다.

 

✔️  시간복잡도: O(1)
✔️ 접근 알고리즘: 단순 인덱싱 (문자열 슬라이싱)

✔️ 인덱싱 1번 이니까 O(1) 으로 처리 가능

 



3단계: 알고리즘 유형 선택
☑️  문자열 처리 , S[i] : 리스트 탐색?

 

✔️ 파이썬에선 문자열도 인덱싱이 되니까 리스트 변환 없이 바로 S[i-1] 가능



4단계: 자료구조 & 흐름 정리
☑️  어떤 자료구조를 쓸까?
    → 리스트 
☑️  함수 나눌 필요 있는가?  

    → 없음
☑️ 조건 분기 많을까? 시뮬레이션 필요한가?  

  → 없음

✔️ 리스트 쓰지 말고 "문자열 그대로 처리"



5단계: 구현 전 체크 
☑️  입출력 방식은? (input(), split(), strip() 주의) 
☑️ 예외 상황은 어떤 게 있을까? (빈 입력, 중복 등)
☑️ 시간 초과 가능성은?

✔️  입출력: input() 2번 쓰면 됨
✔️  인덱스 주의: 입력은 1부터 시작 → 파이썬은 0부터
✔️  시간초과 가능성 없음

 


6단계: 제출 전 체크리스트
☑️ 예제 출력 전부 통과했는가? 
☑️ 문제 조건 중 빠뜨린 거 없는가?
☑️ 반복문/조건문 이상한 부분 없는가?
☑️ 시간/메모리 초과 가능성 없나?

 


요약:
문제 → 입력 크기 → 시간복잡도 판단 → 알고리즘 선택 → 자료구조 선택 → 구현

 

 

내 답

S = list(input())
N = int(input())

print(S[N-1])

 

하지만 S 따로 리스트 처리 할 필요 없었음

 

 

최적의 답_

S = input()
N = int(input())
print(S[N - 1])

'Algorithm > 백준' 카테고리의 다른 글

백준 9086 파이썬 문자  (0) 2025.04.15
백준 2743 파이썬 단어 길이재기  (0) 2025.04.15
백준 1406 파이썬 에디터  (0) 2025.03.26
백준 1874 파이썬 스택수열  (0) 2025.03.21
백준 9093 파이썬 단어뒤집기  (3) 2024.09.03