본문 바로가기
코딩테스트/LV. 0

LV. 0 :: 인덱스 바꾸기

by KUROMI98 2023. 1. 22.

https://school.programmers.co.kr/learn/courses/30/lessons/120895

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(my_string, num1, num2) 
{
    var arr = [];
    arr = my_string.split(''); // 배열 arr에 문자열을 분리해 넣어준다.
    var a = arr[num2]; // arr의 num2인 원소를 a,
    var b = arr[num1]; // arr의 num1인 원소를 b라고 한다.
    
    var newarr = arr; // newarr에 arr을 그대로 넣고
    newarr[num2] = b; // num2 번째 원소를 arr의 num2 였던 원소로,
    newarr[num1] = a; // num1 번째 원소를 arr의 num1 였던 원소로 교체해준다

    return newarr.join(''); // 배열을 문자열로 바꿔 return한다.
}

 

+)230511

const solution = (my_string, num1, num2) => { 
    const arr= my_string.split('');
    let temp = arr[num2];
    arr[num2] = arr[num1];
    arr[num1] = temp; 
    return arr.join(``);
}

230527 python

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

 

다른 분이 쓰신 풀이를 봤는데 이렇게 해도 된다고 한다

파이썬은 이런 게 돼서 좋은거같다 s[num1],s[num2] = s[num2],s[num1]

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

C++

#include <string>
#include <vector>

using namespace std;

string solution(string my_string, int num1, int num2) { 
    char temp = my_string[num1];
    my_string[num1] = my_string[num2];
    my_string[num2] = temp; 
    return my_string;
}

'코딩테스트 > LV. 0' 카테고리의 다른 글

LV. 0 :: 369게임  (0) 2023.01.22
LV. 0 :: 약수 구하기  (0) 2023.01.22
LV. 0 :: 가위 바위 보  (0) 2023.01.22
LV. 0 :: 문자 반복 출력하기  (0) 2023.01.22
LV. 0 :: 암호 해독  (0) 2023.01.22

댓글