Blue___
코딩배우는 학생🌎
Blue___
전체 방문자
오늘
어제
  • 코딩배우는 학생🧀 (242)
    • Algorithms (145)
      • BOJ[Java] (107)
      • Programmers[Java] (32)
      • Coding_Contest (3)
    • Web (22)
      • .NET Core C# (2)
      • Java (1)
      • Oracle SQL (7)
      • Web-ProJect (3)
      • Error처리 (1)
      • Web지식 (4)
      • Javascript (1)
      • Vue (3)
    • Git (4)
    • Java_beginner(Repl.it) (55)
      • Auto-Graded-Course(AP CS A) (54)
    • 프로젝트 직딩일기 (3)
    • Hanyang_Assignment (0)
    • 이모저모 (4)
      • 잡담 (1)
      • 2021 오픈소스 컨트리뷰터 아카데미 (1)
      • DDD - 6기! (1)
    • 북리뷰 (1)
      • 리팩토링 2판 (1)
      • 클린코드 (0)

블로그 메뉴

  • 🐰GITHUB
  • ☘️포트폴리오
  • 🌸MBC개발_투표 2022
  • 🍭MBC_APP

공지사항

인기 글

태그

  • programmers
  • 코딩배우는 학생
  • 알고리즘
  • 코딩배우는학생
  • 프로그래머스
  • java basic
  • 코딩
  • algorithm
  • 백준
  • 레플릿
  • REPL
  • Bakjoon
  • 자바
  • 프로그래밍
  • coding
  • AP CS A
  • repl.it
  • Java tutorial
  • auto-graded course
  • Java

최근 댓글

최근 글

티스토리

hELLO
Blue___

코딩배우는 학생🌎

[백준/1110번] 더하기 사이클 [Java]
Algorithms/BOJ[Java]

[백준/1110번] 더하기 사이클 [Java]

2019. 12. 3. 19:17

문제

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

26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다.

위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다.

N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다. N은 0보다 크거나 같고, 99보다 작거나 같은 정수이다.

출력

첫째 줄에 N의 사이클 길이를 출력한다.

 

 


풀이

 

 10의 자리는 N/10을 통해서 반환(한자리면 0을 반환), %10으로 1의 자리 반환한다. 이후 while문을 통해서 조건에 맞을 시 반복문을 빠져나오는 간단한 문제. ㅇㅅㅇ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.*;
 
class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N=sc.nextInt();
    int one=N/10;
    int two=N%10;
    int temp=0;
    int cnt=0;
   
   while(true)
   {
        cnt++;
        temp=two;
        two=(one+two)%10;
        one=temp;
        if(N==one*10+two)
        break;
    }
  
    System.out.println(cnt);
    
    }
    }
 
 
 
 
 
 

https://www.acmicpc.net/submit/1110/16344711

 

로그인

 

www.acmicpc.net

 

반응형
저작자표시 (새창열림)

'Algorithms > BOJ[Java]' 카테고리의 다른 글

[백준/10757번] 큰 수 A+B [Java]  (0) 2019.12.03
[백준/11718번] 그대로 출력하기 [Java]  (0) 2019.12.03
[백준/2966번] 찍기 [Java]  (0) 2019.12.03
[백준/4153번] 직각삼각형 [Java]  (0) 2019.12.02
[백준/1978번] 소수 찾기 [Java]  (0) 2019.12.02
    'Algorithms/BOJ[Java]' 카테고리의 다른 글
    • [백준/10757번] 큰 수 A+B [Java]
    • [백준/11718번] 그대로 출력하기 [Java]
    • [백준/2966번] 찍기 [Java]
    • [백준/4153번] 직각삼각형 [Java]
    Blue___
    Blue___
    완전 연소한 불은 재를 남기지않는다 : 코딩배우는학생 🌎

    티스토리툴바