반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
Tags
- 자바의정석연습문제
- 빅오 표기법
- 백트래킹
- ★
- 자바개념
- 시간 복잡도
- 무료개발강의
- java
- dfs
- 백준알고리즘
- ☆
- 자바의정석
- BFS
- Java개념
- 다이나믹 프로그래밍
- 백준9단계
- 코딩공부
- 자바
- 백준자바
- 백준단계별로풀어보기
- 알고리즘공부
- dp
- 알고리즘
- 개발공부
- 브루트포스
- 무료코딩강의
- 동적계획법
- 백준
- 자바의정석연습문제풀이
- 자바공부
Archives
- Today
- Total
더 많이 실패하기
공부 151일차: 백준 1748번 수 이어 쓰기 1 자바 java 본문
반응형
1748 수 이어 쓰기 1
https://www.acmicpc.net/problem/1748
1748번: 수 이어 쓰기 1
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
www.acmicpc.net
백준 1748번 문제 수 이어 쓰기 1
문제
과정 생각해보기
브루트포스 문제라서 그냥 무식하게 생각하기로 했다
1~9면 1을 더하고
10~99면 2를 더하고
...
100,000,000이면 9를 더하는 식이다
정답 인정 코드
1)
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
29
30
31
32
33
34
35
36
37
38
|
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int count = 0;
for(int i = 1; i <= n; i++) {
if(i < 10) {
count++;
}else if(i < 100) {
count += 2;
}else if(i < 1_000) {
count += 3;
}else if(i < 10_000) {
count += 4;
}else if(i < 100_000) {
count += 5;
}else if(i < 1_000_000) {
count += 6;
}else if(i < 10_000_000) {
count += 7;
}else if(i < 100_000_000) {
count += 8;
} else { //if(i == 100_000_000) {
count += 9;
}
}
System.out.println(count);
}
}
|
cs |
https://zzang9ha.tistory.com/154
이 블로그 참고
2)
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
|
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int count = 0;
int cipher = 1; // 자릿수 ( 1~10: 1, 11~100: 2, ...
int standard = 10;
for(int i = 1; i <= n; i++) {
if(i % standard == 0) {
cipher++; // 기준으로 나누어 떨어진다 -> 자릿수가 바뀌었다 -> 자릿수 +1
standard *= 10; // 10, 100, 1000 ... 으로 기준을 늘린다(자릿수 바뀌는 수가 기준)
}
count += cipher;
}
System.out.println(count);
}
}
// 과정 https://gimbalja.tistory.com/289
|
cs |
깔끔한 코드...
정답률이 높은 만큼 쉬운 문제
반응형
'알고리즘 > 백준' 카테고리의 다른 글
공부 153일차: 백준 15650번 N과 M (2) 자바 java (0) | 2022.12.30 |
---|---|
공부 152일차: 백준 15649번 N과 M (1) 자바 java (0) | 2022.12.29 |
공부 149일차: 백준 1107번 리모컨 자바 java (0) | 2022.12.26 |
공부 148일차: 백준 1476번 날짜 계산 자바 java (0) | 2022.12.25 |
공부 147일차: 백준 3085번 사탕 게임 자바 java (0) | 2022.12.24 |
Comments