#1 세로 읽기
문제 설명
문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.
제한사항
- my_string은 영소문자로 이루어져 있습니다.
- 1 ≤ m ≤ my_string의 길이 ≤ 1,000
- m은 my_string 길이의 약수로만 주어집니다.
- 1 ≤ c ≤ m
입출력 예
my_string | m | c | result |
"ihrhbakrfpndopljhygc" | 4 | 2 | "happy" |
"programmers" | 1 | 1 | "programmers" |
입출력 예 설명
#2 코드 및 알고리즘
class Solution {
public String solution(String my_string, int m, int c) {
String arr = ""; // "ihrh bakr fpnd oplj hygc"
for(int j = c - 1; j < my_string.length();){
arr += my_string.charAt(j);
j += m;
}
/*for(int j = c - 1; j < my_string.length(); j += m){
arr += my_string.charAt(j);
}*/
return arr;
}
}
---------------------------------------------------
정확성 테스트
테스트 1 〉 통과 (11.93ms, 75.1MB)
테스트 2 〉 통과 (11.75ms, 79.4MB)
테스트 3 〉 통과 (13.72ms, 75.2MB)
테스트 4 〉 통과 (10.98ms, 71.8MB)
테스트 5 〉 통과 (16.07ms, 75.6MB)
테스트 6 〉 통과 (10.30ms, 76.9MB)
테스트 7 〉 통과 (12.39ms, 76MB)
테스트 8 〉 통과 (12.08ms, 78.2MB)
테스트 9 〉 통과 (17.33ms, 76.6MB)
테스트 10 〉 통과 (13.98ms, 75.5MB)
테스트 11 〉 통과 (13.44ms, 72.8MB)
테스트 12 〉 통과 (10.34ms, 70MB)
테스트 13 〉 통과 (13.49ms, 76.7MB)
테스트 14 〉 통과 (15.80ms, 77.8MB)
테스트 15 〉 통과 (13.43ms, 77.7MB)
테스트 16 〉 통과 (16.97ms, 86MB)
테스트 17 〉 통과 (9.33ms, 72.1MB)
테스트 18 〉 통과 (11.86ms, 78.9MB)
풀이:
- 주어진 문자열 my_string에서 m번 반복하며 c번마다 저장하는 알고리즘이다.
코드 예제
public class Main {
public static void main(String[] args) {
String my_string = "ihrhbakrfpndopljhygc"; // "ihrh bakr fpnd oplj hygc"
String arr = "";
int m =4, c = 2;
for(int j = c - 1; j < my_string.length();){
arr += my_string.charAt(j);
j += m;
}
}
}
---------------------------------
h |j = 1| c = 2| // 루프 1회 반복
ha |j = 5| c = 2| // 루프 2회 반복
hap |j = 9| c = 2| // 루프 3회 반복
happ |j = 13| c = 2| // 루프 4회 반복
happy |j = 17| c = 2| // 루프 5회 반복
728x90
'JAVA > 프로그래머스 코딩 기초 트레이닝' 카테고리의 다른 글
[프로그래머스, LV.0] 문자 개수 세기 (0) | 2023.07.12 |
---|---|
[프로그래머스, LV.0] qr code (0) | 2023.06.28 |
[프로그래머스, LV.0] 문자열 뒤집기 (0) | 2023.06.28 |
[프로그래머스, LV.0] 접두사인지 확인하기 (0) | 2023.06.28 |
[프로그래머스, LV.0] 접미사인지 확인하기 (0) | 2023.06.26 |