[BOJ] 백준 2503 숫자야구 (JAVA)
Algorithm/- Baekjoon2024. 1. 7. 04:34[BOJ] 백준 2503 숫자야구 (JAVA)

📑 문제🌱 아이디어1~9까지의 중복하지 않는 세 자리 숫자 조합, 즉 경우의 수가 적다 브루트포스로 풀어보자! 입력으로 예상 숫자를 주고 그 숫자가 얼마나 답에 근접했는지를 볼, 스트라이크로 알려준다 스트라이크 = 숫자자리, 숫자 모두 일치할 때볼 = 숫자가 포함만 되어있을 때 예를 들어 정답 "234" 에 대한 예상숫자 "241" 은  "1 스트라이크, 1 볼"이다. 그렇다면 답이 될 수 있는 모든 세 자릿수에 대한 힌트(스트라이크, 볼)가 입력받은 힌트와 일치한다면답이 될 수 있는 숫자이다! 이점을 이용해서 풀어보자!🌱 코드 및 풀이가장 처음에는 ArrayList에 중복이 없는 세 자릿수를 입력받고, 입력으로 예상 숫자와 힌트(볼, 스트라이크)가 들어올 때마다힌트에 부합하는 숫자라면 패스하고 부..

[BOJ] 백준 18111 마인크래프트 (JAVA)
Algorithm/- Baekjoon2023. 12. 21. 03:26[BOJ] 백준 18111 마인크래프트 (JAVA)

📑 문제🌱 아이디어이 문제는 한 블록당 숫자를 기준으로 푸는 것이 아닌 평탄화 기준이 될 땅 높이를 기준으로 탐색한다! 처음엔 문제에서 말한 조건 1,2번을 DFS로 풀어서 한 블록을 기준으로 평탄화 작업을 하려고 했는데...안된다는 것을 빨리 깨달았다... 이 문제는 "땅의 높이는 256블럭 보다 작거나 같은 자연수 또는 0 이다"  라는 말을 이용해서 풀어야 한다 예를 들어 결국 평탄화 작업을 통해 나오는 땅의 높이는 0 ~ 256까지의 경우가 있다.즉 우리는 0~256까지 경우의 평탄화 기준 땅높이를 토대로 조건 1,2번과 인벤토리를 통해 평탄화할 수 있는지판단하고 평탄화 가능 하다면 최소 시간을 구해야 한다! 주석을 통해 코드마다 설명을 남겨놨으니 천천히 보면 이해하는데 어렵지 않을 것이다.?..

image