목차💻
▸ 피보나치 수
▸ 카펫
출처: 프로그래머스 코딩테스트 연습 > 연습문제 > 피보나치 수
[오답 코드]
class Solution {
public int solution(int n) {
int answer = 0;
int[] arr = new int[n+1];
arr[0] = 0;
arr[1] = 1;
for(int i = 2; i <= n; i++){
arr[i] = arr[i-1] + arr[i-2];
}
answer = arr[n]%1234567;
return answer;
}
}
[수정 코드]
class Solution {
public int solution(int n) {
int answer = 0;
int[] arr = new int[n+1];
arr[0] = 0;
arr[1] = 1;
for(int i = 2; i <= n; i++){
arr[i] = (arr[i-1]%1234567 + arr[i-2]%1234567);
}
answer = arr[n]%1234567;
return answer;
}
}
출처: 프로그래머스 코딩테스트 연습 > 완전탐색 > 카펫
import java.util.List;
import java.util.ArrayList;
class Solution {
public int[] solution(int brown, int yellow) {
List<Integer> list = new ArrayList<>();
for(int i = 1; i <= yellow; i++){
if(yellow%i == 0){
list.add(i);
}
}
int[] answer = new int[2];
for(int i = list.size()/2; i < list.size(); i++){
int width = list.get(i);
int length = yellow/width;
if(((width+2)*2 + length*2)==brown){
answer[0] = width+2;
answer[1] = length+2;
}
}
return answer;
}
}