SangYoonLee (SYL)
◆ Slow, But Steady ◆
SangYoonLee (SYL)
전체 방문자
오늘
어제
  • ◻ 전체 글 수 : (128)
    • ✪ 취미, 경험 회고 및 일상 (25)
      • [취미] Room Escape (2)
      • [회고] IT 관련 경험 회고 (17)
      • [일상] 일상 생각 (4)
      • [일상] 독후감 (1)
    • ◼ FrontEnd (27)
      • Web & HTML, CSS (8)
      • JavaScript (2)
      • TypeScript (1)
      • ReactJS (16)
    • ◼ CS (3)
      • 자료구조 & 알고리즘 (1)
      • 컴퓨터 구조 (1)
      • 운영체제 (1)
    • ◼ PS Note (40)
      • 백준 (38)
      • 프로그래머스 (2)
    • ◼ IT Etc. (33)
      • (Until 2021) (21)
      • Python (6)
      • C | C# | C++ (1)
      • Git (1)
      • Unity (4)
      • Game Dev. (0)

블로그 메뉴

  • 홈
  • 💻 GitHub
  • 🟢 Velog
  • 🧩 온라인 방탈출 출시 작품 모음

인기 글

최근 글

공지사항

반응형
hELLO · Designed By 정상우.
SangYoonLee (SYL)

◆ Slow, But Steady ◆

◼ PS Note/백준

[백준] 1010번 : 더하기 사이클 (🥉브론즈 1) (Python)

2023. 1. 20. 03:05
반응형

문제 바로 가기

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

 


풀이

  • 사용 언어 : Python
  • 풀이한 날짜 : 2021-09-18
# 풀이1: 문자열로 변환하여 풀이

def cycle(n):
  count = 0

  if len(n) == 1:
    n = '0' + n

  first_num = n
  new_num = ""

  while not first_num == new_num:
    count += 1
    if count > 1:
      n = new_num
    sum_num = str(int(n[0]) + int(n[1]))
    new_num = n[-1] + sum_num[-1]
  return count

n = input()
print(cycle(n))
# 풀이2: 정수 자료형으로만 풀이

def cycle(n):
  first_num = n
  count = 0
  new_num = -1

  while not first_num == new_num:
    count += 1
    if count > 1: n = new_num
    new_num = ((n%10)*10) + (n//10 + n%10)%10

  return count

n = int(input())
print(cycle(n))

(예전에 기록해둔 풀이를 그대로 옮겨온 것이기에, 부가 설명이 없다는 점 양해 부탁드립니다.)

 

반응형

'◼ PS Note > 백준' 카테고리의 다른 글

[백준] 2525번 : 오븐 시계 (🥉브론즈 5) (Python)  (0) 2023.01.20
[백준] 2163번 : 초콜릿 자르기 (🥉브론즈 3) (Python)  (2) 2023.01.20
[백준] 10699번 : 오늘 날짜 (🥉브론즈 5) (Python)  (0) 2023.01.20
[백준] 1010번 : 다리 놓기 (🥈실버 5) (C++)  (0) 2023.01.20
[백준] 2039번 : 일곱 난쟁이 (🥉브론즈 2) (C++)  (0) 2023.01.20
    '◼ PS Note/백준' 카테고리의 다른 글
    • [백준] 2525번 : 오븐 시계 (🥉브론즈 5) (Python)
    • [백준] 2163번 : 초콜릿 자르기 (🥉브론즈 3) (Python)
    • [백준] 10699번 : 오늘 날짜 (🥉브론즈 5) (Python)
    • [백준] 1010번 : 다리 놓기 (🥈실버 5) (C++)
    SangYoonLee (SYL)
    SangYoonLee (SYL)
    Slow, But Steady Wins The Race 😎

    티스토리툴바