본문 바로가기
Algorithm Problem Solving/BaekJoon

[BaekJoon] 백준 17294 귀여운 수~ε٩(๑> ₃ <)۶з (Python / 파이썬)

by ʚ⇜❅🎕̈❄⇝ɞ 2021. 8. 26.
728x90
반응형

BaekJoon 백준 17294 귀여운 수~ε٩(๑> ₃ <)۶з 문제는 귀여운 수는 수를 이루는 각 자릿수가 등차수열을 이루는 수이다. 욱제한테 귀여운 수 하나를 선물해주려 할 때 하나가 주어졌을 때 이 수가 귀여운지 판단하는 문제이다. 난이도는  Bronze 1이다.

 

BaekJoon 17294 귀여운 수~ε٩(๑> ₃ <)۶з 문제 정보

출처

- https://www.acmicpc.net/problem/17294

알고리즘 분류

- 수학, 구현

난이도

- 브론즈 1 / Bronze 1

 

귀여운 수~ε٩(๑> ₃ <)۶з 문제 요약

  • 귀여운 수~ε٩(๑> ₃ <)۶з는 수를 이루는 각 자릿수가 등차수열[*]을 이루는 수이다.
  • 수 하나가 주어졌을 때 이 수가 귀여운지 판단하는 프로그램을 짜 보자.
  • [*] 등차수열을 이루는 숫자들은, 왼쪽에서 오른쪽으로 가면서 일정한 크기(0일 수도 있음)만큼 커지거나 일정한 크기만큼 작아진다.
  • 정수 k(1≤k≤1018)가 주어진다. 입력은 0으로 시작하지 않는다.
  • 수가 귀여우면 "◝(⑅•ᴗ•⑅)◜..°♡ 뀌요미!!"를, 귀엽지 않으면 "흥칫뿡!! <( ̄ ﹌  ̄)>"를 따옴표 없이 출력한다.

 

문제 풀이 과정

  1. 입력받은 정수는 비교를 위해 한 자리씩 따로 저장한다.
  2. 정수가 두 자리 이하면 무조건 등차수열이기 때문에 고려하지 않는다.
  3. 정수가 세 자리 이상이면 맨 앞 두 자리의 차를 구해 놓고 나머지 자릿수들의 차이도 모두 같은지 검사한다.
  4. 하나라도 차이가 다르면 등차 수열이 아니다. 모두 차이가 같다면 등차 수열이다.
  5. 등차수열이면 "◝(⑅•ᴗ•⑅)◜..°♡ 뀌요미!!"를, 아니면 "흥칫뿡!! <( ̄ ﹌  ̄)>"를 출력한다.

 

코드 및 설명
k = list(map(int, input()))
kLen = len(k)
isSequence = True
if kLen >= 3:
    sub = k[0] - k[1]
    for i in range(1, kLen - 1):
        if k[i] - k[i + 1] != sub:
            isSequence = False
            break

print('◝(⑅•ᴗ•⑅)◜..°♡ 뀌요미!!' if isSequence else '흥칫뿡!! <( ̄ ﹌  ̄)>')

BaekJoon 백준 17294 귀여운 수~ε٩(๑> ₃ <)۶з 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다. 

728x90
반응형

댓글