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

    [알고리즘문제풀기] qr code

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

    문제

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

    내가 작성한 정답

    String

    class Solution { public String solution(int q, int r, String code) { String answer = ""; for(int i=0; i<code.length(); i++){ if(i%q==r) answer += code.charAt(i); } return answer; } }

    StringBuilder

    // charAt class Solution { public String solution(int q, int r, String code) { StringBuilder answer = new StringBuilder(); for(int i=0; i<code.length(); i++){ if(i%q==r) answer.append(code.charAt(i)); } return answer.toString(); } } // substring class Solution { public String solution(int q, int r, String code) { StringBuilder answer = new StringBuilder(); for(int i=0; i<code.length(); i++){ if(i%q==r) answer.append(code.substring(i,i+1)); } return answer.toString(); } } // String[] class Solution { public String solution(int q, int r, String code) { StringBuilder answer = new StringBuilder(); String[] c = code.split(""); for(int i=0; i<code.length(); i++){ if(i%q==r) answer.append(c[i]); } return answer.toString(); } } // char[] class Solution { public String solution(int q, int r, String code) { StringBuilder answer = new StringBuilder(); char[] c = code.toCharArray(); for(int i=0; i<code.length(); i++){ if(i%q==r) answer.append(c[i]); } return answer.toString(); } }

    stream

    // string import java.util.stream.*; class Solution { public String solution(int q, int r, String code) { return IntStream.range(0,code.length()) .filter(i->i%q==r) .mapToObj(i->code.substring(i,i+1)) .reduce("",String::concat); } } // char import java.util.stream.*; class Solution { public String solution(int q, int r, String code) { return IntStream.range(0,code.length()) .filter(i->i%q==r) .mapToObj(i->""+code.charAt(i)) .collect(Collectors.joining()); } }

    다른 사람들의 정답

    start를 r로 설정하고 q만큼 이동시켜서 if로 조건을 걸지 않았다.
    class Solution { public String solution(int q, int r, String code) { StringBuilder sb = new StringBuilder(); for (int i = r; i < code.length(); i += q) sb.append(code.charAt(i)); return sb.toString(); } }
    Share article

    silver

    RSS·Powered by Inblog