주어진 배열을 등차수열로 만들 수 있는지 물어보는 문제입니다.
각 숫자에 +1, -1, 가만히 놔두기 이렇게 세 가지 연산을 할 수 있으므로
배열의 숫자 중 a1과 an, 두 개에 대해서만 세 연산(+1, -1, +0)을 하면 나오는 경우의 수는 3*3으로 9가지가 나옵니다.
그래서 9가지 경우의 수에 대해 아래와 같은 연산을 해보는 겁니다.
1. a1, an 정하기
2. 공차 구하기
3. 기존의 숫자를 가지고 주어진 공차를 가진 등차수열을 만들 수 있는지 체크
4. 3번을 만족하는 경우의 수 중 최소 연산 수를 리턴
코드: github.com/cotchan/algorithm/blob/main/python/BOJ/BOJ17088.py
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]1766번: 문제집 (0) | 2021.03.04 |
---|---|
[BOJ]2056번: 작업 (0) | 2021.03.04 |
[BOJ]12908번: 텔레포트 3 (0) | 2021.02.23 |
[BOJ]10282번: 해킹 (0) | 2021.02.08 |
[BOJ]9370번: 미확인 도착지 (0) | 2021.02.08 |