나의 풀이
class Solution {
public String solution(String my_string, int num1, int num2) {
String answer="";
String[] array_word=my_string.split("");
String tmp=array_word[num1];
array_word[num1]=array_word[num2];
array_word[num2]=tmp;
for(String s: array_word){
answer+=s;
}
return answer;
}
}
▶ split()의 리턴타입은 String배열 임에 주의 한다.
다른 사람의 풀이
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
class Solution {
public String solution(String myString, int num1, int num2) {
List<String> list = Arrays.stream(myString.split("")).collect(Collectors.toList());
Collections.swap(list, num1, num2);
return String.join("", list);
}
}
▶ 문자열(myString) →문자열배열(myString.split("")→List(Collectors.toList())
▶ Collections.swap(list, index1, index2)
index1에 위치한 객체와 index2에 위치한 객체를 맞바꿈한다.
▶ 클래스.메서드
▶ String.join → 자바 직빵문법을 참고하자~
'프로그래머스(자바) > LV.0(자바)' 카테고리의 다른 글
암호 해독- substring(), toCharArray(), char->String에 대입가능, step (0) | 2022.11.24 |
---|---|
배열회전시키기★ rotate()함수이용, List get(), remove(), add() (0) | 2022.11.24 |
주사위의 개수 → 연산의 순서에 주의하자 (괄호의 중요성) (0) | 2022.11.24 |
약수 구하기 - IntStream.rangeClosed(1, n) (0) | 2022.11.24 |
가장 큰 수 찾기→max(Integer::compareTo).ortElse(0) ★ (0) | 2022.11.24 |