inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 글자 이어 붙여 문자열 만들기

    silver's avatar
    silver
    Mar 16, 2025
    [알고리즘문제풀기] 글자 이어 붙여 문자열 만들기
    Contents
    문제내가 작성한 정답다른 사람들의 정답char[]를 이어붙여서 String으로 변환하기

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181915

    내가 작성한 정답

    String

    class Solution { public String solution(String my_string, int[] index_list) { String answer = ""; for(int i= 0; i<index_list.length;i++){ answer += my_string.substring(index_list[i],index_list[i]+1); } return answer; } }

    StringBuilder

    class Solution { public String solution(String my_string, int[] index_list) { StringBuilder answer = new StringBuilder(); for(int i= 0; i<index_list.length;i++){ answer.append(my_string.substring(index_list[i], index_list[i] + 1)); } return answer.toString(); } }

    StreamAPI

    import java.util.stream.*; class Solution { public String solution(String my_string, int[] index_list) { return IntStream.range(0,index_list.length) .mapToObj(i->my_string.substring(index_list[i],index_list[i]+1)) .collect(Collectors.joining()); } } import java.util.stream.Collectors; import java.util.Arrays; class Solution { public String solution(String my_string, int[] index_list) { return Arrays.stream(index_list) .mapToObj(i->my_string.substring(i,i+1)) .collect(Collectors.joining()); } }

    다른 사람들의 정답

    charAt

    class Solution { public String solution(String my_string, int[] index_list) { StringBuilder sb = new StringBuilder(); for(int i : index_list){ sb.append(my_string.charAt(i)); } return sb.toString(); } }

    StreamAPI

    import java.util.*; import java.util.stream.Collectors; class Solution { public String solution(String myString, int[] indexList) { return Arrays.stream(indexList) .mapToObj(operand -> String.valueOf(myString.charAt(operand))) .collect(Collectors.joining()); } }
    my_string.charAt(i)는 char 타입의 값을 반환한다. char는 기본 데이터 타입이라 Stream의 요소로 사용하기 위해서는 객체로 변환해야 한다.
    → String.valueOf(char) 메서드를 사용하여 char를 String으로 변환해야 한다.
     
    💡

    char[]를 이어붙여서 String으로 변환하기

    1. StringBuilder
      1. StringBuilder sb = new StringBuilder(); char[] chars = {'H', 'e', 'l', 'l', 'o'}; for (char c : chars) { sb.append(c); } String result = sb.toString(); // "Hello"
    1. String.concat() : String의 concat() 메서드를 사용하여 char를 String으로 변환한 후 이어붙이기
      1. String result = ""; char[] chars = {'H', 'e', 'l', 'l', 'o'}; for (char c : chars) { result = result.concat(String.valueOf(c)); }
    1. String.join() : char 배열을 String으로 변환한다
      1. char[] chars = {'H', 'e', 'l', 'l', 'o'}; String result = String.join("", new String(chars));
    1. Stream - new String(char[])
      1. char[] chars = {'H', 'e', 'l', 'l', 'o'}; String result = new String(chars); // result는 "Hello"
     
    Share article

    silver

    RSS·Powered by Inblog