-
[Java] BOJ 1748 수 이어 쓰기 1개발자 취업/코딩테스트 준비 2023. 6. 6. 20:06반응형
1748번: 수 이어 쓰기 1
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
www.acmicpc.net
정답 코드
- 20의 경우 : 1~9 : 1 / 10~20 : 2 = 9 + 22 = 31
- 100의 경우 : 1~9 : 1 / 10~99 : 2 / 100 : 3 = 9 + 180 + 3 = 192
- 자리수와 해당 수만큼을 계산하여 덧셈 연산으로 길이 구하기
import java.io.*; import java.util.*; public class Main { static BufferedReader br; static StringTokenizer st; static int N; public static void main(String[] args) throws IOException { br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); int tmp = N; int pos = 0; while (tmp >= 10) { pos++; tmp /= 10; } long cnt = 0; for (int i = 0; i < pos; i++) { cnt += (i + 1) * 9 * Math.pow(10, i); } cnt += (pos + 1) * (N - Math.pow(10, pos) + 1); System.out.println(cnt); } }
'개발자 취업 > 코딩테스트 준비' 카테고리의 다른 글
[Java] BOJ 1476 날짜 계산 (0) 2023.06.07 [Java] BOJ 10610 30 (0) 2023.06.06 [Java] BOJ 16948 데스 나이트 (0) 2023.06.06 [Java] BOJ 16937 두 스티커 (0) 2023.06.06 [Java] BOJ 12873 기념품 (0) 2023.06.04