본문 바로가기

코딩스터디

[프로그래머스]인덱스 바꾸기 파이썬

#문제

문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.


제한사항
  • 1 < my_string의 길이 < 100
  • 0 ≤ num1, num2 < my_string의 길이
  • my_string은 소문자로 이루어져 있습니다.
  • num1 ≠ num2

 

입출력 예my_stringnum1num2result
"hello" 1 2 "hlelo"
"I love you" 3 6 "I l veoyou"

입출력 예 설명

입출력 예 #1

  • "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.

 

# 답

def solution(my_string, num1, num2):
    # Convert the string to a list because strings are immutable
    my_list = list(my_string)
    
    # Swap the characters at positions num1 and num2
    my_list[num1], my_list[num2] = my_list[num2], my_list[num1]
    
    # Convert the list back to a string
    answer = ''.join(my_list)
    return answer

 

 

  • 문자열을 리스트로 변환: 문자열은 원래 수정할 수 없기 때문에 먼저 리스트 변환
  • 리스트에서 위치 바꾸기: 리스트의 num1 위치와 num2 위치에 있는 글자를 서로 변환
  • 리스트를 다시 문자열로 변환: 바꾼 리스트를 다시 문자열로 만들어서 반환

 

728x90