티스토리 뷰

코딩테스트 연습 - 인덱스 바꾸기

문제 설명


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

제한사항


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

입출력 예


my_string num1 num2 result

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

제출 코드


2022년 12월 10일

#include <string>
#include <vector>

using namespace std;

string solution(string my_string, int num1, int num2) {
    string answer = "";
    char change1 = my_string[num1];
    char change2 = my_string[num2];

    my_string[num1] = change2;
    my_string[num2] = change1;

    answer = my_string;

    return answer;
}

처음 풀 때는 단순히 자리를 바꾸어서 풀었다.

#include <string>
#include <vector>

using namespace std;

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

swap 함수를 쓰니 간단하게 해결되었다.

'😈 알고리즘 > 🖥️ 프로그래머스' 카테고리의 다른 글

🖥️ 최댓값 만들기 (2)  (0) 2023.01.16
🖥️ 합성수 찾기  (0) 2023.01.15
🖥️ 피자 나눠 먹기(2)  (0) 2023.01.13
🖥️ 외계행성의 나이  (0) 2023.01.12
🖥️ 약수 구하기  (0) 2023.01.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
«   2025/06   »
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
링크
Total
Today
Yesterday