코테/백준

[백준/JAVA] 1065번: 한수

imname1am 2023. 7. 6. 01:49
반응형

🔺 문제

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나

www.acmicpc.net

 

 

🔺 코드

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
import java.util.*;
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());
        long cnt = 0;
        
        for(int i = 1 ; i <= N ; i++) {
            if(i < 100) {
                cnt++;
            }
            else {
                char[] ch = Integer.toString(i).toCharArray();
                boolean isEqual = true;
                
                for(int j = 1 ; j < ch.length - 1 ; j++) {
                    if((ch[1- ch[0]) != (ch[j + 1- ch[j])) {
                        isEqual = false;
                        break;
                    }
                }
                
                if(isEqual) cnt++;               
            }
        }
        
        System.out.println(cnt);
    }
}
 
cs
✅ 해결 아이디어
✔ 브루트포스
- 숫자가 두 자릿수면, 그냥 cnt갯수를 증가시킴
- 숫자가 세 자릿수 이상이면, 현재 숫자를 문자로 변환하고,
 얘를 char형 배열로 변환해서 이전 숫자들 간 차이값과 같은지 boolean으로 판단

 


🔺 다른 풀이들

- 오 ... 이렇게 간단허게...!

 

로그인

 

www.acmicpc.net

 

 

- 역시.. 근본 풀이...!!!

 

[백준] 1065번 : 한수 - JAVA [자바]

https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌

st-lab.tistory.com


💬 느낀 점

호옥시 몰라서 갯수 세는 변수를 long형으로 선언했다.. 휴

아무도 boolean... 사용하신 .. 나 같은 풀이는 없지만...

일단 풀었으니 만족...(?)ㅋㅋㅋㅋ

 

20분 소요!

 

 

1회독 2회독 3회독 4회독 5회독
V        
반응형