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

    [알고리즘문제풀기] 세로 읽기

    silver's avatar
    silver
    Apr 08, 2025
    [알고리즘문제풀기] 세로 읽기
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

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

    내가 작성한 정답

    String

    class Solution { public String solution(String my_string, int m, int c) { String answer = ""; for(int i=0; i<my_string.length(); i+=m){ answer += String.valueOf(my_string.charAt(c-1+i)); } return answer; } }

    StringBuilder, StringBuffer

    class Solution { public String solution(String my_string, int m, int c) { StringBuilder answer = new StringBuilder(); // StringBuffer answer = new StringBuffer(); for(int i=0; i<my_string.length(); i+=m){ answer.append(String.valueOf(my_string.charAt(c-1+i))); } return answer.toString(); } }

    2차 배열

    class Solution { public String solution(String my_string, int m, int c) { //StringBuilder answer = new StringBuilder(); //StringBuffer answer = new StringBuffer(); String answer = ""; int len = my_string.length(), le = len%m==0?len/m:len/m+1, idx = 0; String[][] ms = new String[le][m]; for(int i=0; i<le; i++){ for(int j=0; j<m; j++){ ms[i][j] = String.valueOf(my_string.charAt(idx++)); } } for(int i=0; i<le; i++){ //answer.append(ms[i][c-1]); answer += ms[i][c-1]; } //return answer.toString(); return answer; } }

    Stream

    import java.util.stream.*; class Solution { public String solution(String my_string, int m, int c) { return IntStream.range(0,my_string.length()%m==0?my_string.length()/m:my_string.length()/m+1) .mapToObj(i-> my_string.substring(i*m,(i+1)*m)) .map(s->String.valueOf(s.charAt(c-1))) .collect(Collectors.joining()); } }

    다른 사람들의 정답

    import java.util.stream.*; class Solution { public String solution(String myString, int m, int c) { return IntStream.range(0, myString.length()) .filter(i -> i % m == c - 1) .mapToObj(i -> String.valueOf(myString.charAt(i))) .collect(Collectors.joining()); } }
    Share article

    silver

    RSS·Powered by Inblog