본문 바로가기

Java/프로그래머스

[JAVA] 프로그래머스 - 다음에 올 숫자

https://school.programmers.co.kr/learn/courses/30/lessons/120924

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

시도 1)

 

class Solution {
    public int solution(int[] common) {
        int answer = 0;
        int len = common.length;
        
        int temp1 = common[2]-common[1];
        int temp2 = common[1]-common[0];
        
        //등비인지 등차인지 판별 
        if(temp1 == temp2)
        {
            //등차 
            answer = common[len-1]+temp2;
        }
        else
        {
            //등비
            answer = common[len-1]*temp2;
        }
        
        return answer;
    }
}

 

 

테스트 4,9 실패

 

 

 

시도 2)

 

class Solution {
    public int solution(int[] common) {
        int answer = 0;
        int len = common.length;
        
        int temp1 = common[2]-common[1];
        int temp2 = common[1]-common[0];
        
        //등비
        int ratio = common[1]/common[0];
        //등차
        int diff = common[1] - common[0];
        
        //등비인지 등차인지 판별 
        if(temp1 == temp2)
        {
            //등차 
            answer = common[len-1]+diff;
        }
        else
        {
            //등비
            answer = common[len-1]*ratio;
        }
        
        return answer;
    }
}

 

테스트 2,6 런타임 에러

 

 

정답 

 

[프로그래머스/파이썬] 다음에 올 숫자 : 네이버 블로그 (naver.com)

 

[프로그래머스/파이썬] 다음에 올 숫자

#프로그래머스 #파이썬 #Python 문제 설명 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지...

blog.naver.com

 

- common이 등차수열의 경우 common[1]은 common[0]과 common[2]의 평균과 같다

- common이 등비수열인 경우 common[1]의 제곱은 common[0] 과 common[2]의 곱과 같다. 

//등차 수열
common[1] == (common[0] + common[2])/2;

//등비 수열
Math.pow(common[1],2) == common[2]*common[0];

 

 

등차수열, 등비수열 공식 정리 (tistory.com)

 

등차수열, 등비수열 공식 정리

1. 수열과 수열의 일반항 수열이란 차례로 나열한 수의 열을 의미한다. 수열의 일반항은 수열의 n번째 항을 의미한다. 2. 등차수열 등차수열은 첫째항부터 차례대로 일정한 수를 더해서 얻어지는

mathtravel.tistory.com

 

등차 중항 

- 세개의 숫자 a,b,c가 순서대로 등차수열을 이룬다면, b를 a와 c의 중차 중항이라 부른다. 

 

등비 중항

- 세개의 숫자 a,b,c가 순서대로 등비수열을 이룬다면, b를 a와 c의 등비중항이라 한다. 

 

 

정답 

 

class Solution {
    public int solution(int[] common) {
        int answer = 0;
      
        if ((common[1]-common[0]) == (common[2]-common[1])){
            answer = common[common.length-1]+(common[1]-common[0]);
        } else{
            answer = common[common.length-1]*((common[1]/common[0]));
        }
        
        return answer;
    }
}