[프로그래머스/C++ 문제 풀이] Lv. 0 - 다음에 올 숫자

2024. 6. 25. 14:50·코딩테스트/프로그래머스 (Lv. 0)
728x90
반응형

문제 설명

등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.

제한 사항

  • 2 < common의 길이 < 1,000
  • -1,000 < common의 원소 < 2,000
    • common의 원소는 모두 정수입니다.
  • 등차수열 혹은 등비수열이 아닌 경우는 없습니다.
  • 등비수열인 경우 공비는 0이 아닌 정수입니다.

입출력 예

 

common result
[2, 4, 8] 16
[1, 2, 3, 4] 5

 

입출력 예 #1

  • [1, 2, 3, 4]는 공차가 1인 등차수열이므로 다음에 올 수는 5이다.

입출력 예 #2

  • [2, 4, 8]은 공비가 2인 등비수열이므로 다음에 올 수는 16이다.

문제 풀이

이번 문제는 입력받은 수열을 보고 등비수열인지 등차수열인지를 확인하면 되는 간단한 문제입니다.

 

등차수열의 경우 증가되는 공차가 항상 일정하므로,

1번째 요소와 2번째 요소의 차가 3번째 요소와 4번째 요소의 차와 동일한지 확인하여 체크 가능하며,

동일하지 않다면 이는 등비수열이기에 결과를 구해주는 방식으로 해결하였습니다.

정답 코드

더보기
#include <string>
#include <vector>

using namespace std;

int solution(vector<int> common) {
    int answer = 0;

    // 등차수열인지 체크하기
    if (common[1] - common[0] == common[2] - common[1])
    {
        // 등차수열이므로 해당 차이를 마지막 결과물에 더해주도록 합니다.
        int verse = common[1] - common[0];
        answer = common[common.size() - 1] + verse;
    }
    else
    {
        // 등비수열이므로 해당 공비를 마지막 결과물에 적용시켜주도록 합니다.
        int ratio = common[1] / common[0];
        answer = common[common.size() - 1] * ratio;
    }


    return answer;
}
728x90
반응형
저작자표시 비영리 변경금지

'코딩테스트 > 프로그래머스 (Lv. 0)' 카테고리의 다른 글

[프로그래머스/C++ 문제 풀이] Lv. 0 - 최빈값 구하기  (0) 2024.06.29
[프로그래머스/C++ 문제 풀이] Lv. 0 - OX퀴즈  (0) 2024.06.29
[프로그래머스/C++ 문제 풀이] Lv. 0 - [PCCE 기출문제] 8번 / 창고 정리  (0) 2024.06.24
[프로그래머스/C++ 문제 풀이] Lv. 0 - 연속된 수의 합  (0) 2024.06.22
[프로그래머스/C++ 문제 풀이] Lv. 0 - 안전 지대  (0) 2024.06.21
'코딩테스트/프로그래머스 (Lv. 0)' 카테고리의 다른 글
  • [프로그래머스/C++ 문제 풀이] Lv. 0 - 최빈값 구하기
  • [프로그래머스/C++ 문제 풀이] Lv. 0 - OX퀴즈
  • [프로그래머스/C++ 문제 풀이] Lv. 0 - [PCCE 기출문제] 8번 / 창고 정리
  • [프로그래머스/C++ 문제 풀이] Lv. 0 - 연속된 수의 합
리태s
리태s
게임 클라이언트 프로그래머 직무를 준비하며 공부한 내용을 정리한 블로그입니다.
    반응형
    250x250
  • 리태s
    LeeTaes 공부노트
    리태s
  • 전체
    오늘
    어제
    • Home (165)
      • 프로젝트 (20)
        • Isaac 3D (5)
        • TimelessAdventure (13)
        • FruitsPuzzle (2)
      • Game Programming (25)
        • C# (8)
        • Unity Engine (6)
        • Unreal Engine (8)
        • UE_Multiplayer (3)
      • 코딩테스트 (111)
        • 프로그래머스 (Lv. 0) (27)
        • 프로그래머스 (Lv. 1) (31)
        • 프로그래머스 (Lv. 2) (21)
        • 백준 (Study) (29)
        • 알고리즘 (3)
      • CS지식 (7)
        • 운영체제 (7)
      • 일상 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Unreal Engine
    구현
    후기
    project t.a develop
    c#
    청년취업사관학교
    코딩테스트
    fruitspuzzle
    Algorithm
    프로그래머스
    fsoftobjectpath
    tsoftobjectptr
    2018 kakao
    unity
    dataasset
    issac3d
    unrealengine
    C++
    2022 kakao
    백준
    ai controller
    timelessadventure
    프로젝트
    CS지식
    Summer/Winter Coding
    sesac
    pcce 기출문제
    delegate
    프로세스
    2019 kakao
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
리태s
[프로그래머스/C++ 문제 풀이] Lv. 0 - 다음에 올 숫자
상단으로

티스토리툴바