인덱스 바꾸기

난이도 최하
화낼거양's avatar
Feb 28, 2025
인덱스 바꾸기
Contents
정답
 
 

문제 설명

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

제한사항

  • 1 < my_string의 길이 < 100
  • 0 ≤ num1num2 < 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"입니다.
 
기본적으로 주어진 코드 :
class Solution { public String solution(String my_string, int num1, int num2) { String answer = ""; return answer; } }
 

정답

 
class Solution { public String solution(String my_string, int num1, int num2) { String answer = ""; for (int i = 0; i < my_string.length(); i++) { if (i == num1) { answer += my_string.charAt(num2); } else if (i == num2) { answer += my_string.charAt(num1); } else { answer += my_string.charAt(i); } } return answer; } }
 
  • 메서드 선언 및 초기화
    • public String solution(String my_string, int num1, int num2) { String answer = "";
    • solution 메서드는 두 개의 정수 num1num2를 매개변수로 받아 문자열 my_string의 문자들을 교환합니다.
    • answer 변수는 결과 문자열을 저장합니다.
  • 반복문을 통한 문자열 처리
    • for (int i = 0; i < my_string.length(); i++) {
    • 문자열 my_string의 길이만큼 반복문을 실행하여 각 문자를 처리합니다.
  • 조건문을 통한 문자 교환
    • if (i == num1) { answer += my_string.charAt(num2); } else if (i == num2) { answer += my_string.charAt(num1); } else { answer += my_string.charAt(i); }
    • 인덱스 inum1과 같으면 num2 위치의 문자를 answer에 추가합니다.
    • 인덱스 inum2와 같으면 num1 위치의 문자를 answer에 추가합니다.
    • 그렇지 않은 경우 원래 위치의 문자를 answer에 추가합니다.
 
Share article

moohyun