๋ฐ์ํ
https://www.acmicpc.net/problem/1748
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int count = 0; // ์๋ฆฟ์
int plus = 1; // ์๋ฆฟ์์ ๋ํ๋ ๊ฐ
int num = 10; // ๋ช ์๋ฆฟ์ ๋ํ ์ง ํ๋จ
int N = Integer.parseInt(bf.readLine());
for(int i=1; i<=N; i++) {
// ์๋ฆฟ์ ๋ฐ๋๋ ์กฐ๊ฑด => 10, 100, 1000, 10000, ...
if(i%num == 0) {
plus ++;
num *= 10;
}
count += plus;
}
System.out.println(count);
bf.close();
}
}
ํ์ด
์๋ฆฟ์๋ง ๊ตฌํ๋ฉด ๋๋ฏ๋ก, ์๋ฆฟ์๊ฐ ์ธ์ ๋ฐ๋๋์ง๋ง ํ์ธํด์ ๋ณ๊ฒฝํด์ค๋ค.
1 ~ 9 => 1์๋ฆฌ
10 ~ 99 => 2์๋ฆฌ
100 ~ 999 => 3์๋ฆฌ,
์ฆ i๋ฅผ 10 , 100 , ... ์ผ๋ก ๋๋ด์๋ ๋ชซ์ด 0์ด๋ฉด ์๋ฆฟ์๊ฐ ๋ฐ๋๋ค.
๋ฐ๋ผ์ ์๋ฆฟ์๊ฐ ๋ฐ๋๋๋ง๋ค ๋ค์ ๋๋ ์ผ ํ๋ ์๋ 10์ ๊ณฑํด์ฃผ๊ณ ,
๋ค์ ๋ํด์ค์ผ ํ ์๋ฆฟ์๋ +1์ ํด์ค๋ค.
๋ฐ์ํ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1062๋ฒ: ๊ฐ๋ฅด์นจ(์์ ํ์, ๋ฐฑํธ๋ํน) (0) | 2020.03.06 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค[Java] - ์ ํ๋ฒํธ ๋ชฉ๋ก(ํด์) (0) | 2020.03.05 |
[๋ฐฑ์ค] 1912๋ฒ: ์ฐ์ํฉ(DP) (0) | 2020.03.05 |
[๋ฐฑ์ค] 3985๋ฒ: ๋กค ์ผ์ดํฌ(๊ตฌํ, ์๋ฎฌ๋ ์ด์ ) (0) | 2020.03.05 |
[Codeforces] 509A: Maximum in Table (0) | 2020.03.05 |
๋๊ธ