
간단해서, 그냥 IDE 사용없이 쌩코딩으로 풀었다. 이게 왜이리 정답률이 낮나 싶음.
common의 길이는 2보다 크다. 따라서 0~2번째 배열값이 존재하므로,
공차인지 공비인지 판단하여 수열이 등차수열인지, 등비수열인지 정해준 다음,
마지막 수에서 공차를 더하거나 공비를 곱하면 된다.
정수 간 나눗셈은 엄밀한 값을 구하기 위해서는 double로 처리해줘야함을 잊지 말아야한다.
class Solution {
public int solution(int[] common) {
int gap1 = common[1]-common[0];
int gap2 = common[2]-common[1];
double ratio1 = common[1]*1.0/common[0];
double ratio2 = common[2]*1.0/common[1];
int l = common.length;
int answer=0;
if (gap1==gap2) {
answer = common[l-1]+gap1;
} else {
answer = common[l-1]*(int)ratio1;
}
return answer;
}
}'프로그래머스 문제풀이 > Level 0' 카테고리의 다른 글
| 문자열밀기 (자바, Java) (0) | 2022.12.14 |
|---|---|
| 치킨쿠폰 (자바, Java) (0) | 2022.12.14 |
| 평행 (자바, Java) (0) | 2022.12.13 |
| 다항식 더하기 (자바, Java) (0) | 2022.12.11 |
| 숨어있는 숫자의 덧셈 (2) (자바, Java) (0) | 2022.12.11 |