2024/12/05 2

[백준 JAVA] 2798 - 블랙잭

매우 쉬운 문제다!3년 전에 알고리즘을 모르고 단순히 반복분과 중첩문만을 가지고 문제를 풀었던 시절이 있었다. 그때는 c++로 했었는데 티어가 높아질 수 록 매 문제마다 시간 초과 문제가 생겼던 기억이 난다. 지금 다시 확인해 보니깐, 내가 풀었던 알고리즘은 실제로 있는 브루트포스란 알고리즘이었다!! (말 그대로 무식한 힘)  시간 복잡도는 N이 100이라는 점에서 시간 제한과 메모리 제한은 여유롭다고 판단했다! 구현 로직for (int i = 0; i   [최종코드]import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { Buffered..

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

브루트포스란?Brute: 무식한Force: 힘  쉽게 설명하자면 무식한 힘을 갖는 알고리즘을 뜻한다. 완전탐색으로 답을 찾는 알고리즘이며, 해당 알고리즘은 반복문과 조건문을 사용한다!어떻게 동작하는가?가장 유명한 문제로는 자물쇠 문제가 있다.모든 수를 탐색하여 자물쇠를 푸는 비효율적이면서도 100% 정확도를 자랑하는 브루트포스의 대표적인 문제이다.// 실제 비밀번호 (예: 1234)int actualPassword = 1234;// 4중 for문을 사용하여 모든 4자리 비밀번호를 탐색for (int i = 0; i  시간 복잡도는?단일 루프: O(n)중첩 루프: O(n^2)3중 루프 이상: O(n^k) (k는 중첩된 반복문의 수)이므로 경우의 수가 많아질 수록 비효율적이다.공간 복잡도는?별도의 메모리 사..