프로그래머스 코딩테스트(n개 간격의 원소들, 문자열 바꿔서 찾기, 주사위의 개수)
<n개 간격의 원소들>
문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
풀이
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[1+(num_list.length-1)/n];
for(int i=0;i<answer.length;i++){
answer[i] = num_list[i*n];
}
return answer;
}
}
<문자열 바꿔서 찾기>
문제 설명
문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어집니다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요.
풀이
class Solution {
public int solution(String myString, String pat) {
String str = "";
for(int i=0;i<myString.length();i++){
if(myString.charAt(i) == 'A'){
str+= "B";
} else str+= "A";
}
return str.contains(pat)?1:0;
}
}
<주사위의 개수>
문제 설명
머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요.
풀이
class Solution {
public int solution(int[] box, int n) {
return (box[0]/n)*(box[1]/n)*(box[2]/n);
}
}