[210817 TIL] C++ 백준 알고리즘 - 함수 4673

Serendipity·2021년 8월 15일
1

C++ 백준 알고리즘

목록 보기
9/14

📌 4673 셀프넘버

📖 함수 4673


<문제 읽기>

  1. 10000 이하의 셀프 넘버를 출력하라는 문제이다.
  2. 셀프넘버의 개념을 설명하고 있다.
  3. 생성자들을 하나씩 구해놓고


<문제 풀이 과정>

  1. 셀프넘버가 아닌 것들을 구한다.
  2. 셀프넘버를 소거한다.




<작성한 코드>





제 코드가 아니라 구글링해서 찾아 구한 코드인데 출처를 잊어버렸어요ㅠㅠ 찾아서 얼른 넣을게용

https://jaynamm.tistory.com/entry/4673%EB%B2%88-%EC%85%80%ED%94%84-%EB%84%98%EB%B2%84


이 분 코드가 더 깔끔하고 난 더 좋은 것 같당!

✍오늘 배운 내용!

  1. 함수 뭐야 어려워...

  2. 해당 코드를 두번 정도 적고, temp를 정리하고,
    코딩도장에서 C 함수 내용을 정리했다. 그리고 하나씩 쪼개서 이해하니
    우리는 해당 숫자, 각 자리숫자를 더하는 함수를 함들 예정이다.
    for문으로 하나씩 돌려가면서 진행할 것이라는 것이고,
    10보다 작은 수는 그냥 해당 값만 더해주면 되고,
    100보다 작은 수는 앞자리+뒷자리+전체수를 더해주면 되고,
    1000보다 작은 수는 100의자리+10의자리+1의자리+전체수를 더해주면 되고,
    10000보다 작은 수는 1000의 자리+100의 자리+10의 자리+1의자리+전체수를
    더해주면 된다는 개념을 갖고 시작한다.

  3. 그렇다면 문자열에 어떻게 할당해줄 것인가?
    1부터 숫자를 1개씩 늘려가며 셀프넘버가 아닌 아이들을 구해서 1을 넣어준다..
    따라서 문자열에 1이 없을 경우, 그게 바로 셀프넘버!
    !arr[i]일 경우, 출력한다는 조건으로 실행하기

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개의 댓글