코테 준비 13일차_8/24

Jieun·3일 전

코딩테스트 준비

목록 보기
6/8
  1. 문자열 뒤집기
    문자열 s부터 e까지 자르고 뒤집어서 연결하면 될거같음
  • 초기정답
class Solution {
    public String solution(String my_string, int s, int e) {
        StringBuilder answer = new StringBuilder ();
        String a = my_string.substring(0, s);
        String b = my_string.substring(s, e);
        return answer;
    }
}
  • 제출 정답
class Solution {
    public String solution(String my_string, int s, int e) {
        String a = my_string.substring(0, s);
        String b = new StringBuilder(my_string.substring(s, e+1)).reverse().toString();
        String c = my_string.substring(e+1);
        return a + b +c;
    }
}
  1. 세로 읽기
    m글자씩 나누는거니까 %m 해서 각각 문자열 모으고 값 읽으면 될거같음
  • 초기정답
class Solution {
    public String solution(String my_string, int m, int c) {
        String answer = "";
        StringBuilder a = new StringBuilder();
        StringBuilder b = new StringBuilder();
        StringBuilder c = new StringBuilder();
        StringBuilder d = new StringBuilder();
        
        for(int i=0;i<my_string.length();i++) {
            if(i%m ==1) {
                a.append(my_string[i]);
            }
            else if(i%m ==2) {
                b.append(my_string[i]);
            }
            else if(i%m ==3) {
                c.append(my_string[i]);
        }
            else{
                d.append(my_string[i]);
            }
            if(c = 1) {
                answer = a.toSteing();
            }
             if(c = 2) {
                answer = b.toSteing();
            }
             if(c = 3) {
                answer = c.toSteing();
            } else{
                 answer = d.toSteing();
             }
        return answer;
    }
}
}
  • 제출 정답
class Solution {
    public String solution(String my_string, int m, int c) {
      StringBuilder answer = new StringBuilder();
        
        for(int i = c-1; i<my_string.length(); i+=m) {
            answer.append(my_string.charAt(i));
        }
        return answer.toString();
    }
}

3.qr 코드
아까처럼 for문쓰고 answer에 문자열 더하면 될듯

  • 초기 정답
class Solution {
    public String solution(int q, int r, String code) {
        String answer = "";
            for(int i = q%r;i<code.length();i+=q) {
                answer += code.charAt(i);
            }
        return answer;
    }
}
  • 제출 정답
class Solution {
    public String solution(int q, int r, String code) {
        String answer = "";
            for(int i = r;i<code.length();i+=q) {
                answer += code.charAt(i);
            }
        return answer;
    }
}

q%r하면 0이 나와서 오류남 r은 q보다 작기때문에 시작점은 r로 두면 됨

profile
비전공자의 백엔드 생존기: 어제보다 1% 더 성장하기

0개의 댓글