View

문제 설명

문자열 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"입니다.

입출력 예 #2

  • "I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I l veoyou"입니다.

나의 풀이

def solution(my_string, num1, num2):
    my_string = list(my_string)
    temp = my_string[num1]
    my_string[num1] =  my_string[num2]
    my_string[num2] = temp
    temp=''
    return ''.join(my_string)

 

다른 풀이

자바를 공부할때, 배웠던, 배열에서 두원소의 자리 바꾸기 방법..!!

하지만 파이썬에서는 임시저장소인, temp라는 임시저장소 변수를 사용할 필요 없이, 아래와 같이 한번에 여러변수의 값을 저장가능하며,

변수의 순서에 서로 영향을 받지 않는다.!!!
머리로는 알고있지만, 실제로 이 문법을 사용하는 연습이 잘 안되는것 같다... 반복해서 연습하자..!!

def solution(my_string, num1, num2):
    s = list(my_string)
    s[num1],s[num2] = s[num2],s[num1]
    return ''.join(s)

 

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

programmers) 최댓값 만들기 (2)  (0) 2022.11.08
programmers) 평행  (0) 2022.11.08
programmers) 숫자 찾기  (0) 2022.11.08
programmers) 외계행성의 나이  (0) 2022.11.08
programmers) 배열 회전시키기  (0) 2022.11.07
Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31