프로그래밍/프로그래머스
[파이썬/python] 프로그래머스 문자열 겹쳐쓰기
기록합시다
2025. 3. 9. 01:15
문자열 겹쳐쓰기
def solution(my_string, overwrite_string, s):
length = len(overwrite_string) + s
answer = my_string[:s] + overwrite_string + my_string[length:]
return answer
문자열싱
1. 기본 슬라이싱
슬라이싱은 [start:end:step] 형식으로 작성됨.
- start: 포함되는 시작 인덱스 (없으면 0부터 시작)
- end: 포함되지 않는 끝 인덱스
- step: 몇 칸씩 건너뛸지
text = "Hello, World!"
print(text[0:5]) # "Hello" (0부터 5까지, 5는 제외)
print(text[7:12]) # "World"
- text[0:5] → 0번 인덱스부터 5번 인덱스 '전'까지 (Hello)
- text[7:12] → 7번 인덱스부터 12번 인덱스 '전'까지 (World)
⚠ end 인덱스는 포함되지 않음! (end-1까지 선택됨
2. 생략 가능 (start, end 없이 사용)
print(text[:5]) # "Hello" (처음부터 5번 인덱스 전까지)
print(text[7:]) # "World!" (7번 인덱스부터 끝까지)
print(text[:]) # "Hello, World!" (전체 문자열)
3. 끝에서부터 슬라이싱
음수 인덱스를 사용하면 문자열의 끝에서부터 접근할 수 있음.
- 1: 마지막 문자, 2: 끝에서 두 번째 문자 등
print(text[-6:-1]) # "World" (-6부터 -1까지, -1은 제외)
3. 스텝 사용: 2칸씩 건너뛰기
step을 사용하면 슬라이싱할 때 몇 칸씩 건너뛸지 지정할 수 있음.
- 예: step=2는 2칸씩 건너뛰며 자름.
print(text[::2]) # "Hlo ol!" (2칸씩 건너뛰어)
**print(text[1::2]) # "el,Wrd" (1번 인덱스부터 2칸씩)**
4. 시작부터 끝까지 슬라이싱
시작과 끝을 생략하면 전체 문자열을 대상으로 슬라이싱을 실행함.
- text[:]: 전체 문자열
print(text[:5]) # "Hello" (시작부터 5까지, 5는 제외)
5. 끝부터 시작까지 슬라이싱
start와 end를 음수로 지정하면 문자열의 뒤쪽에서부터 슬라이싱을 할 수 있음.
- 예: text[-6:]: 뒤에서 여섯 번째부터 끝까지
print(text[-6:]) # "World!" (-6부터 끝까지)
6. 문자열 뒤집기 (step = -1)
print(text[::-1]) # "!dlroW ,olleH" (문자열 뒤집기)
-문자열에 자꾸 reversed() 쓰려고함. 기억.