[프로그래머스] lv.0 세로읽기.java

디하·2024년 1월 3일

프로그래머스

목록 보기
10/10
post-thumbnail

문제

문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.


import java.util.*;
class Solution {
    public String solution(String my_string, int m, int c) {
        List<String> str = new ArrayList<>();
        
        for(int i =0; i<my_string.length(); i+=m){ //1.
           String a = my_string.substring(i,i+m); //2.
            str.add(a); 
            
        }
       // System.out.print(str);
        
        String answer = "";
        for(String b : str){
            answer += b.substring(c-1,c); //3.
            
        }
        
        //System.out.print(answer);
      
        
        return answer;
    }
}
  1. for(int i =0; i<my_string.length(); i+=m)
    -> i+=m: m글자씩 자른다 생각하면 i=0 -> i=4 -> i=8 -> ...

  2. String a = my_string.substring(i,i+m);
    -> for문으로 글자를 잘라주는데 0~3번까지 / 4~7 번까지 잘라주어야한다

  3. answer += b.substring(c-1,c);
    -> int c 번째 열에 적힌 글자를 빼내야하므로
    substirng(c-1,c) => 1번인덱스 값만 빼낼 수 있다

profile
🖥️ ⌨️🖱️🩵

0개의 댓글