반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1270 : 1의 개수는? 1 (자바, JAVA)입니다.
Intro
Question
문제 설명
구글 입사 시험으로 1 ~ 1,000,000까지 1의 개수를 묻는 문제가 나온적이 있다.
우리는 이 문제를 풀기에는 아직 힘이 든다.
우리는 이 문제를 조금 쉽게 바꾸어 풀려고한다.
어떤 수 n이 주어지면 1부터 n까지의 수 중 맨 마지막 자리에 1이 몇 번 들어 있는지 알아내는 프로그램을 작성하시오.
입력
n이 입력된다. ( 1 <= n <= 1,000,000 )
출력
맨 마지막 자리에 1이 몇 번 들어 있는지 출력한다.
예시
- 입력 : 35
- 출력 : 4
Solution (풀이)
- 풀이 1 : 메모리 51924, 시간 353
public class Answer1 {
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; // 마지막자리가 1인 개수를 0개로 초기화 선언
// 1부터 n까지 for문 반복
for (int i=1; i<=n; i++) {
int length = (int)String.valueOf(i).length(); // 입력받은 숫자만큼 for문이 돌면서 i의 자리수를 계산한다.
if (String.valueOf(i).substring(length-1).equals("1")) { // substring을 이용하여 마지막 자리 숫자를 알아내고 비교한다.
count++;
}
}
System.out.println(count);
br.close();
}
}
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1272 : 기부 (0) | 2022.06.10 |
---|---|
[CodeUp_Java] Q1271 : 최대값 구하기 (0) | 2022.06.10 |
[CodeUp_Java] Q1269 : 수열의 값 구하기 (0) | 2022.06.09 |
[CodeUp_Java] Q1268 : n개의 수 중 짝수의 개수 (0) | 2022.06.09 |
[CodeUp_Java] Q1267 : n개의 수 중 5의 배수의 합 (0) | 2022.06.08 |