[알고리즘] 브루트포스 알고리즘

2024. 12. 28. 17:53·Algorithm

 

장점

- 모든 경우를 다 고려하기 때문에 확실하게 정답 찾을 수 있음

- 복잡한 알고리즘 X, 빠르게 구현 가능

 

-> 알고리즘이라기 보다는 ... 모든 경우 다 따지며 해 찾는 방식

 

단점

- 효율적이지 않다.

- 시간이 오래 걸린다.

 

import java.util.ArrayList;
import java.util.List;

public class baekjoon_4673 {
    public static void main(String[] args) {
        int N = 10000;
        List<Integer> list = new ArrayList<>();
        for (int i = 1; i < N - 1; i++) {
            list.add(number(i));
        }
        for (int i = 1; i < N - 1; i++) {
            if (!list.contains(i)) {
                System.out.println(i);
            }
        }
    }

    public static int number(int N) {
        String str = String.valueOf(N);
        for (int i = 0; i < str.length(); i++) {
            N += Integer.parseInt(String.valueOf(str.charAt(i)));
        }
        return N;
    }

}

기존 풀이 .. 시간 마니 잡아먹음

 

 

 

public class baekjoon_4673_2 {
    public static void main(String[] args) {
        boolean[] isSelfNumber= new boolean[10000];
        for (int i = 1; i < 10000; i++) {
            int num = i;
            int sum = i;
            while (num > 0) {
                sum += num % 10;
                num /= 10;
            }
            if (sum < 10000) {
                isSelfNumber[sum] = true;
            }
        }

        for (int i = 1; i < 10000; i++) {
            if (!isSelfNumber[i]) {
                System.out.println(i);
            }
        }
    }
}

 

 

셀프 넘버가 아닌 수를 true로 바꾸어 배열에 저장, 바로 출력하는 방식

메모리, 시간 줄어기

 

'Algorithm' 카테고리의 다른 글

[알고리즘] 힙(heap) 자료구조  (1) 2025.01.15
[알고리즘] 분할정복 알고리즘  (2) 2025.01.13
[알고리즘] 이진탐색 알고리즘  (1) 2025.01.06
하노이탑 알고리즘 이해하기 (재귀함수 사용)  (1) 2025.01.01
stack 메서드 구현  (3) 2024.01.26
'Algorithm' 카테고리의 다른 글
  • [알고리즘] 분할정복 알고리즘
  • [알고리즘] 이진탐색 알고리즘
  • 하노이탑 알고리즘 이해하기 (재귀함수 사용)
  • stack 메서드 구현
zioni
zioni
  • zioni
    jiwon's dev.log
    zioni
  • 전체
    오늘
    어제
    • 분류 전체보기 (76)
      • spring & java (13)
      • Algorithm (14)
      • PS (37)
      • project (3)
      • experience (1)
      • etc (6)
      • study (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    자바
    백준
    java
    백준2525
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
zioni
[알고리즘] 브루트포스 알고리즘
상단으로

티스토리툴바