[210820 TIL] C++ 백준 알고리즘 - 함수 1065

Serendipity·2021년 8월 20일
1

C++ 백준 알고리즘

목록 보기
10/14

📌 1065 한수

📖 함수 1065


<문제 읽기>

  1. 한수가 대체 뭘까...
    입력과 출력값을 봤을 때는 100이하의 값은 대부분?이 한수인 것 같다.
    110을 입력했는데 99가 한수인 걸 보면..
    등차수열인데 An값이 0이라면 가능한 부분이구요
    100 101 102 103 이런 10~st은 탈락이고
    110도 안 된다.
    다만 111, 123, 135 이런 수는 각각 차이가 1, 2 이런 형태라 한수이다.


<문제 풀이 과정>


  1. 셋째자리는
    111, 123, 135, 147, 159
    222, 234, 246, 258 (그리고 260은 안 된다. 각 자리수를 가지고 판단하는 것임)
    그럼 이 분류를 어떻게 하면 좋을 까..

  2. 1000보다 작은 수를 작성한다고 했으니, 세자리 수만 파악해주면 된다.
    어차피 100 이하의 수를 입력할 경우에는 해당 입력수만 출력하면 되고,
    100 이상의 수를 입력할 경우에는 각 자리수를 나눠서
    그 차이가 같은 경우만 True 값으로 만들면 될 것 같다.

  3. 그럼 int n으로 n을 입력받았을 때, n=a100+b10+c 라고 치면,
    i / 100 = a
    i % 100 / 10 = b
    i % 10 = c
    라고 나타낼 수 있다.

이 때 b-a==c-b이면 만족!



<작성한 코드>





✍오늘 배운 내용!

  1. 함수를 사용하는 방법을 조금 알게 되었다.
    함수 실행
    main으로 실행
    함수정의
    이렇게 코드를 짜면 아주 시원해진다는 것도!!
    묵은 체증이 싹-
  2. 역시 내가 생각했던 방식으로 푼 사람들이 많은 경우가
    가장 좋은 것 같다.
    보통 사람들이 알고리즘을 푸는 방식으로 나아가는 것이,
    바로 창조적인 풀이로 가는 것 보다
    초기 학습에는 더 유리하다고 느낀다!
  3. 함수 너무 빠르고 편리하잖아ㅠㅠ
    함수이름(입력한 수) 이렇게 해주면
    cout<< 함수이름(입력한 수) <<endl;
    바로 출력이 된다!
    함수 내의 return 값을 출력한다 ~
profile
I'm an graduate student majoring in Computer Engineering at Inha University. I'm interested in Machine learning developing frameworks, Formal verification, and Concurrency.

0개의 댓글