본문 바로가기

728x90

브루트포스

[백준] 18111 마인크래프트 / 자바(Java) 문제 https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 해설 높이 있는 블럭은 낮추고, 낮게 있는 블럭은 높여 평평하게 고르는데 필요한 최소한의 시간을 구하는 문제입니다. 일일히 하나씩 빼고 넣기에는 너무 구현이 복잡해 질 듯하여 높이의 제한이 256인 것을 보고 모든 높이를 대입해보자는 브루트포스 방식을 사용하기로 했습니다. 가로, 세로는 각각 500이므로 모든 높이에서의 시간을 확인해 보는데 256*500*500으로 계산해 볼만한 시간복잡도.. 더보기
[백준] 1759 암호 만들기 / 자바(Java) 문제 https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 해설 모든 가지수를 정렬된 순으로 확인해야하는 문제이므로 브루트포스를 조합을 사용해 해결한다. 조건들이 간단한 조합문제보다 더 다양함으로 이에 주의한다. 조건 최소 하나의 모음과 두개의 자음으로 구성 알파벳들은 정렬되어있음 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; im.. 더보기

728x90