문제
https://school.programmers.co.kr/learn/courses/30/lessons/120895
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
문자열과 두 인덱스가 주어질 때, 2개의 인덱스 위치 값에 있는 문자를 바꾸면 되는 문제이다.
"아 그냥 문자열 인덱스에 접근해서 값을 변경하면 되니까 a[0], a[1] = a[1], a[0] 하면 되겠네?" 라고 생각 할 수도 있다. 하지만 파이썬 문자열 자료형은 immutable type즉 수정이 불가능한 자료형이다. 따라서 이런 문자열을 바꾸기 위해서는 replace나 list로 변환하여 수정한다음 "".join()을 이용하여 처리하는 방법이 있다.
해당 문제는 두 문자열의 위치만 바꾸면 되는 문제이기 떄문에 replace()을 사용하기 보다는 list로 변환하여 문제를 해결하였다.
def solution(my_string, num1, num2):
my_string = list(my_string)
my_string[num1], my_string[num2] = my_string[num2], my_string[num1]
return "".join(my_string)
'Algorithm > Programmers' 카테고리의 다른 글
프로그래머스 LV0 날짜 비교하기 (0) | 2023.08.26 |
---|---|
프로그래머스 LV0 암호해독 (0) | 2023.08.26 |
프로그래머스 LV0 배열 회전시키기 (0) | 2023.08.25 |
프로그래머스 LV2 [1차] 캐시 (0) | 2023.07.30 |
프로그래머스 LV0 접미사인지 확인하기 (2) | 2023.07.19 |