IdoCleanCode
article thumbnail
반응형

코딩 테스트 - 프로그래머스

문제

문자열 my_string, overwrite_string과 정수 s 가 주어 집니다. 문자열 my_string의 인덱스 s 부터 overwrite_string 으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

 

입출력 예

my_sting overwrite_string s result
"He11oWor1d" "lloWorl" 2 "HelloWorld"
"Program29b8UYP" "merS123" 7 "ProgrameerS123"

 

문제풀이 

문자열 my_string의 s 인덱스를 시작하여 overwrite_stirng 으로 바꾸고 그뒤 다시 my_string 문자열을 연결하는 함수를 작성하는 문제 입니다. 이를 문제를 해결 하기 위해 문자열 슬라이싱 기능을 활용 합니다.

def solution(my_string, overwrite_string, s):
    # my_string의 시작부터 s 인덱스까지의 부분과
    # s 인덱스 이후 overwrite_string의 길이만큼 건너뛴 부분 이후의 문자열을 잘라내고
    # 이 두 부분 사이에 overwrite_string을 삽입하여 새로운 문자열을 생성
    # overwrite_string을 삽입한 후의 종료 인덱스
    end_index = s + len(overwrite_string)  
    return my_string[:s] + overwrite_string + my_string[end_index:]
[파이썬] 프로그래머스 코딩 기초 트레이닝 - 문자열 겹쳐쓰기

문자열 슬라이싱

문자열 슬라이싱은 파이썬에서 문자열의 일부를 추출하거나 복사하는 방법입니다. 문자열의 특정 부분만 쉽게 가져올수 있습니다.  다음은 기본 문법입니다.

 

문자열[시작 인덱스:끝 인덱스:스탭]
  • 시작인덱스:슬라이싱할 부분의 시작 위치입니다. 시작 인덱스를 생략하면 기본값은 0(문자열 시작)입니다.
  • 끝 인덱스:슬라이싱할 부분의 끝위치 입니다. 끝 인덱스를 생략하면 기본값은 문자열의 길이(문자열의 끝) 입니다
  • 스탭: 선택적으로 지정할 수 있는 인자로, 몇개의 문자를 건더 뛸지를 나타냅니다. 스탭은 생략하면 기본값은 1이며, 음수로 나타내면 역순으로 나타냅니다.
s = "Hello, World!"

print(s[0:5])  # "Hello"
print(s[7:])   # "World!"
print(s[:5])   # "Hello"
print(s[::2])  # "Hlo ol!"
print(s[-1])   # "!"
print(s[-5:-1])# "orld"

 

 

반응형
profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!