Engineering Note

11. 숫자의 총 개수(small) 본문

Problem Solving/Olympiad in Informatics

11. 숫자의 총 개수(small)

Software Engineer Kim 2021. 1. 15. 15:07

it 취업을 위한 알고리즘문제풀이(with C/C++) : 코딩테스트 대비

코드1

코드2

문제해결방법1

  • 주어진 숫자가 자리수 별로 swich case 문으로 구현
  • 몇자리 인지 while문으로 구함 -> 10으로 계속 나눠 가면서 몫이 0 이 될때 까지 카운트 증가시켜서 cnt값으로 10의 몇승인지 구함
  • 한자리 숫자 1개씩 사용, 두 자리 숫자 2개씩 사용 세 자리 숫자 3개씩 사용 누적 숫자 구함
    • ex) 주어진 숫자(num)가 4자리 숫자라면 19까지 9숫자 사용, 1099까지(90가지수) 90가지수 에대해 각각 숫자 2개씩 사용, 100~999까지(900가지 수) 900가지 수에대해 각각 숫자 3개씩사용, (num-999)수에 대해 숫자 4개씩 사용

문제해결방법2

  • 주어진 숫자(num) 까지 i부터 각각 몇자리 인지 매번 계산해서 한 자리면 1증가 두자리수이면 2증가 를 누적시켜 나감

'Problem Solving > Olympiad in Informatics' 카테고리의 다른 글

33. 3등의 성적은?  (0) 2021.01.19
12. 숫자의 총 개수(large)  (0) 2021.01.16
10. 자릿수의 합  (0) 2021.01.15
9. 모두의 약수  (0) 2021.01.13
55.기차운행(stack 응용)  (0) 2021.01.12
Comments