ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1/20기록 - 백준 1110
    Algorithm 2022. 1. 20. 15:32
    728x90

    2박 3일의 제주도 여행을 끝내고 돌아오자 마자 한 문제를 풀고 쉬기로 했다. 나와의 약속이니까!!!

     

    오늘은 지난번 포스팅에서 말했었기 때문에 브론즈1을 도전해 보았다.

     

    백준 1110번 더하기 사이클 문제

     

     

     

    처음 문제를 읽으면서 수열 문제인가 생각했는데, 그게 아니었다. 문제에서 주어진 규칙대로 새로운 수를 만들고 그렇게 만들어진 수가 처음 입력한 수와 동일하면 종료시키는 문제였다. 이 문제는 알고리즘을 짜면서 사실상 문제를 다 풀었다.

    알고리즘 짜는게 그냥 끝인 문제이기 때문에...

     

     

    알고리즘 생각

    1. 입력 예시를 통해 살펴 보니

    26 -> 68(26의 일의자리가 새로운 수의 10의 자리, 2+6이 새로운 수의 일의 자리)

    그렇다면, 26 -> 26%10 = 6(일의자리) * 10 = 6이 10의 자리로 이동  => (N %10) * 10

    26 -> 26/10 = 2, 26%10 = 6 두 숫자 더하고 %10 하면 8이 일의 자리 => ((N/10) + (N%10)) % 10

    2. 반복 되면서 몇개까지 반복되어야 처음 수가 되는 건지 파악하기 위해 반복문과 count 변수 선언

    3. 새로운 수를 result라는 변수로 나타내고 해당 값에 N의 초깃값 대입

    4. if문으로 result가 N과 같을 때, break해줌

    5. count 변수 출력

     

    사실상 끝난 듯 하다.

     

     

    알고리즘에서 말한 그대로 문제를 풀었다. 브론즈 1문제치고 수를 파악하는 문제여서 인지 생각보다 수월하게 문제를 풀었던것 같다. 일의 자리수를 나타낼때는 %10을 이용하고 10의 자리수는 *10, 십의 자리수를 뽑아 낼 때 /10을 하면 쉽게 숫자를 조절할 수 있다는 것만 알면 다른 메소드 없이 쉽게 문제를 풀 수 있다.

     

     

    1/20 여행 후 피곤함과 함께 푼 문제지만 생각보다 쉽게 풀려서 이제 편안하게 쉴 수 있을 것 같다.

    728x90

    'Algorithm' 카테고리의 다른 글

    1/22기록 - 백준 4344  (0) 2022.01.22
    1/21기록 - 백준 1546  (0) 2022.01.21
    1/18기록 #2 - 백준 1159  (0) 2022.01.18
    1/18기록 #1 - 백준 1075번  (0) 2022.01.18
    1/17기록 - 프로그래머스 2018 카카오 코테#2  (0) 2022.01.17
Designed by Tistory.