CodingTest
코딩테스트 입문 - Day 25
Jiwon_Loopy
2025. 5. 17. 14:22
반응형
문자열 밀기
import java.util.ArrayDeque;
class Solution {
public static int solution(String A, String B) {
ArrayDeque<String> ad = new ArrayDeque<>();
int cnt = 0;
for(String s : A.split("")) {
ad.addLast(s);
}
for(int i = 0 ; i < B.length() ; i++) {
if(String.join("",ad).equals(B)) {
break;
}
ad.addFirst(ad.pollLast());
cnt++;
}
return cnt < A.length() ? cnt : -1;
}
}
종이 자르기
class Solution {
public int solution(int M, int N) {
return M * N - 1;
}
}
연속된 수의 합
class Solution {
public int[] solution(int num, int total) {
int[] arr = new int[num];
int mid = 0;
int start = 0;
int idx = 0;
if(num % 2 == 1){
mid = total / num;
start = num /2;
for(int i = mid - start; i <= mid + start; i++){
arr[idx++] = i;
}
}else{
mid = total / num; // 3
start = num / 2; // 2, 3
for(int i = mid - start + 1; i <= mid + start; i++){
arr[idx++] = i;
}
}
return arr;
}
}
다음에 올 숫자
class Solution {
public int solution(int[] common) {
int a = common[1] - common[0];
int b = 0;
if(common[0] != 0){
b = common[1] / common[0];
}
int lastIdx = common.length - 1;
if(common[lastIdx] - common[lastIdx - 1] == a){
return common[lastIdx] + a;
}
else{
return common[lastIdx] * b;
}
}
}
728x90
반응형