[Java] 프로그래머스 인덱스 바꾸기

2023. 2. 10. 19:33알고리즘

728x90

문제 설명

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

제한사항

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

입출력 예

입출력 예 설명

입출력 예 #1

  • "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.

입출력 예 #2

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

코드 설명

import java.util.Scanner;

public 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) { // i 가 num1 값이랑 같으면
        		answer += my_string.charAt(num2); // answer에 my_string(num2)번째 문자를 넣어줌
        	}
        	else if (i == num2) { // i가 num2랑 값이랑 같으면
        		answer += my_string.charAt(num1); // answer에 my_string(num1)번째 문자를 넣어줌
        	}
        	else { // 둘 다 아니면 my_string(i) 번째 문자를 넣어줌
        		answer += my_string.charAt(i);
        	}
        }
        
        return answer;
    }
	public static void main(String[] args) {
		Solution T = new Solution();
		Scanner sc = new Scanner(System.in);
		String my_string = sc.next();
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		System.out.println(T.solution(my_string, num1, num2));
		sc.close();
	}
}
728x90