문제
https://school.programmers.co.kr/learn/courses/30/lessons/120895
풀이
my_string을 문자를 각각나눠 배열에 넣은 후 num1과 num2의 자리값만 임시변수인 temp를 통해 바꿔주면 된다고 생각했다.
그리고 마지막으로 String으로 변환해 반환했다.
***
new String(my_str) 표현식은 기존 문자열 my_str 을 기반으로 새로운 String 객체를 생성하는 것이다. Java에서 문자열은 불변이기 때문에 new String(my_str) 을 이용하여 원래 문자열(my_str)에 영향을 주지 않고 복사본에 대한 작업을 수행하기 위해 사용했다.
코드
class Solution {
public String solution(String my_string, int num1, int num2) {
char[] my_str = my_string.toCharArray();
char temp = my_str[num1];
my_str[num1] = my_str[num2];
my_str[num2] = temp;
return new String(my_str);
}
}
'하루하루 > 프로그래머스 문제풀이' 카테고리의 다른 글
[Lv.0 - Java] 120851. 숨어있는 숫자의 덧셈 (1) (1) | 2023.12.07 |
---|---|
[Lv.0 - Java] 120845. 주사위의 개수 (1) | 2023.12.07 |
120899. 가장 큰 수 찾기 (2) | 2023.12.02 |
[Lv.0 - Java] 120892. 암호 해독 (0) | 2023.11.22 |
[Lv.0 - Java] 120837. 개미 군단 (1) | 2023.11.22 |