본문 바로가기

PS/백준

[BOJ] 백준 1110 더하기 사이클 (Swift)

반응형

문제

https://www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

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

www.acmicpc.net

풀이

  • 문제를 차근차근 읽고 풀어보자.
  • 먼저, 새롭게 만들어질 수, 계산에 사용될 수, 그리고 맨 처음 입력받은 수를 선언한다.
  • 새로운 수는 -1로 초기화를 해줌 (입력 받은 수가 0보다 크고 99보다 작기 때문, -1, 100, 101 머 상관없음)
  • while문을 돌리고, 종료 조건은 새로운 수가 맨 처음 입력받은 수와 같을 때로 설정
  • 이제 문제에 나온 것을 그대로 작성해서 새로운 수를 구해주면 된다.
    • 10의 자리수와 1의자리 수를 더함
    • 10보다 작으면? (1의 자리 수 * 10 + 계산한 결과)
    • 10보다 같거나 크면? (1의 자리 수 * 10 + 계산한 결과의 1의자리 수)

소스코드

후기

  • 이 문제는 종료조건이나 이런 것은 까다롭지 않은데 변수를 몇 개 선언해야 할지 이런게 조금 까다로웠던 것 같다.
  • 조건문, 반복문을 알면 충분히 풀 수 있는 문제. 안풀린다면 문제를 차근차근 읽어보자..!
반응형