[알고리즘문제풀기] 인덱스 바꾸기

silver's avatar
Dec 22, 2024
[알고리즘문제풀기] 인덱스 바꾸기

문제

내가 작성한 정답

class Solution { public String solution(String my_string, int num1, int num2) { String answer = ""; char[] chars = my_string.toCharArray(); char a = chars[num1]; char b = chars[num2]; chars[num1] = b; chars[num2] = a; // chars에 있는 모든 문자를 사용하여 새로운 문자열을 생성. // -> chars의 내용을 기반으로 하는 String 객체가 만들어진다. answer += new String(chars); return answer; } }

다른 사람들이 작성한 정답

class Solution { public String solution(String my_string, int num1, int num2) { String answer = ""; char[] ch = my_string.toCharArray(); ch[num1] = my_string.charAt(num2); ch[num2] = my_string.charAt(num1); answer = String.valueOf(ch); return answer; } }

StreamAPI

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()); // 리스트의 num1과 num2 위치에 있는 요소를 서로 교환 Collections.swap(list, num1, num2); // 리스트의 요소를 빈 문자열로 구분하여 하나의 문자열로 결합 return String.join("", list); } }
notion image
💡

Collections

컬렉션 프레임워크와 관련된 다양한 메서드를 제공. 이 클래스는 주로 리스트, 세트, 맵 등과 같은 컬렉션을 조작하는 데 유용한 정적 메서드를 포함하고 있다.
  1. 정렬: Collections.sort(List<T> list)를 사용하여 리스트를 정렬할 수 있다.
  1. 검색: Collections.binarySearch(List<? extends Comparable<? super T>> list, T key)를 사용하여 정렬된 리스트에서 이진 검색을 수행할 수 있다.
  1. 섞기: Collections.shuffle(List<?> list)를 사용하여 리스트의 요소를 무작위로 섞을 수 있다.
  1. 교환: Collections.swap(List<?> list, int i, int j)를 사용하여 리스트의 두 요소를 교환할 수 있다.
  1. 최대/최소 값 찾기: Collections.max(Collection<? extends T> coll) 및 Collections.min(Collection<? extends T> coll)를 사용하여 컬렉션에서 최대값과 최소값을 찾을 수 있다.
Share article

silver