티스토리 뷰
https://www.acmicpc.net/problem/1748
1748번: 수 이어 쓰기 1
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
www.acmicpc.net
#include<iostream>
#include<string>
using namespace std;
int solv(int num){
long res = 0;
while(1){
if(num < 10){
res += num;
return res;
}
int div = 10; // 입력받은 수의 길이를 측정
int inputMinusNum = 1; // 999일 경우 (999 - 100) * 길이(3) 을 카운트
while((num / div) != 0){
div *= 10;
}
div /= 10;
string length_div = to_string(div);
int length_div_integer = (int) length_div.length();
// length_div - 1 만큼 *10
for(int i = 0; i < length_div_integer - 1; i++){
inputMinusNum *= 10;
}
res += (num - inputMinusNum + 1) * length_div_integer;
num = inputMinusNum - 1; // 1000, 100, 10 은 카운트 못하니까 위에서 + 1 해준다.
// cout << num << endl;
}
return res;
}
int main(){
int num;
cin >> num;
cout << solv(num);
}
'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글
백준 1316 그룹단어체커 [C++] (0) | 2021.08.05 |
---|---|
백준 17413 단어 뒤집기 2 [C++] (0) | 2021.08.05 |
백준 1920 수 찾기 [C++] (0) | 2021.08.05 |
백준 2693 N번째 큰 수[C++] (0) | 2021.08.05 |
백준 2960 에라토스테네스의 체 [C++] (0) | 2021.08.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Thymeleaf
- JSP
- 넥사크로
- SQL
- 개발용어
- HeidiSQL
- C
- 스프링부트
- Open API
- 백준
- svn
- Java
- JVM
- 부트스트랩
- 인턴
- 프로그래머스
- 국비교육
- CS
- 환경설정
- 스프링
- 오류
- 오라클
- C++
- 이클립스
- 네트워크
- CSS
- 데이터베이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함