반응형 브루트포스3 [실버2]백준 18111번(마인크래프트) - 코테공부 27일차(2025.02.18) 문제유형빈도수 배열 활용풀이 방법 도출 과정1. 마크에서 땅 고르기 작업을 해야한다. 2. 좌표 (i, j)에서 블록을 제거하거나 추가해야 한다.- 블록을 제거하는 데는 2초가 걸리며- 블록을 추가하는 데는 1초가 걸린다. 3. 밤에는 무서운 몬스터가 나오기 때문에, 가능한 한 빨리 작업을 끝내야 한다.4. 땅 고르기 작업에 걸리는 최소 시간과 그 경우의 땅 높이를 출력해야 한다. 5. 이 문제는 빈도수 배열을 이용한 브루트 포스를 사용해서 풀어야 한다.6. 가장 먼저 빈도수 배열을 생성한다.7. 모든 가능한 목표 높이에 대한 시뮬레이션을 한다.8. 인벤토리 조건 확인 및 최적 해를 선택한다. 시간 복잡도시간 복잡도는 모두 O(n x m)이다. 하지만 n과 m을 500에서 257로 줄여 시간복잡도를 절반.. 2025. 2. 18. 준랩 1071번(배열 원소 개수 구하기) - 코테공부 27일차(2025.02.18) 문제유형브루드 포스풀이 방법 도출 과정1. 탐색을 하는데 완전탐색을 하는 방법으로 문제를 풀어보도록 하겠다. 2. 값 중 제시한 값이 들어있는지 확인하는 것이 목표.3. 이대로 코드를 작성해보도록 하겠다. 시간 복잡도시간 복잡도는 브루드 포스 방법을 사용했기에 O(n)이다. 최악의 경우 n은 1000이기에 시간제한에 충족하여 시간복잡도는 괜찮다.코드 및 간단설명사칙연산을 활용한 문제이다.n, k = map(int, input().split())lst = list(map(int, input().split()))ans = 0for i in range(n): if lst[i] == k: ans += 1print(ans)다른 풀이1) count함수 사용더욱 간단한 방법은 count함수를 사용.. 2025. 2. 18. [class2]백준 2503번(숫자 야구) - 코테공부 25일차(2025.02.16) 문제유형브루드 포스 알고리즘풀이 방법 도출 과정1. 영수, 민혁이 1~9까지 3개를 마음속으로 생각한다. 2. 민혁이는 그 3개를 말한다. 만약 하나가 영수의 세자리수의 동일한 자리에 위치하면 스트라이크3. 숫자가 영수의 세 자리 수에 있긴 하나 다른 자리에 위치하면 볼4. 몇 스트라이크 몇 볼이라고 영수는 말해준다.5. 입력을 바탕으로 영수가 생각하고 있을 가능성이 있는 수가 총 몇 개인지를 알아맞춰야한다.6. 물어보는 수는 최대 100개이므로 모든 경우의 수에서 삭제하는 방법으로 브로트 포스 알고리즘을 사용하는 풀이를 사용해보도록 하겠다.시간 복잡도최악의 경우 100 X 10P3 = 7200 이다. 그러므로 시간복잡도 측면에서 문제될 것은 없다. 코드 및 간단설명브루트포스 알고리즘을 사용해보았다... 2025. 2. 16. 이전 1 다음 반응형