본문 바로가기

완전탐색

(3)
[프로그래머스] 수식 최대화 / 2020 카카오 인턴십 - JAVA 🔗 문제 링크 [프로그래머스] 수식 최대화 / 2020 카카오 인턴십 📝 풀이 과정 연산자의 우선순위를 permutation을 사용해 모든 경우를 구한 뒤, 우선순위가 높은 연산자를 먼저 계산해 누적하는 방식으로 계산하였다. 계산기를 구현할 때 사용하는 방식으로 연산자를 Stack에 쌓아 현재 쌓인 연산자의 우선순위 이하의 연산자가 들어온 경우 계산해 누적하였다. 💡 StringTokenizer는 생성할 때, new String(String str, String delim, boolean returnDelims)로도 생성할 수 있다. str에서 delims에 포함된 character를 기준으로 분할한다 (String 기준❌) returnDelims가 true일 경우 delims도 token으로 취급해 반..
[백준] 15686번: 치킨 배달 - JAVA 🔗 문제 링크 BOJ 15686번: 치킨 배달 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 📝 풀이 과정 치킨 집을 M개만큼 선택하여 각 집과의 치킨거리의 합이 가장 작을 때를 구하는 문제이다. switch를 활용해 입력 값이 1일 때는 집(home) List에 추가해주었고, 2일 때는 치킨집(chicken) List에 추가하여 위치들을 추가해 주었다. switch (sc.nextInt()) { case 1: home.add(new int[]{i, j}); break; case 2: c..
[백준] 14500번: 테트로미노 - JAVA 🔗 문제 링크 BOJ 14500번: 테트로미노 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 📝 풀이 과정 모든 테트로미노를 그린 뒤 탐색마다 도형을 회전시키고 대칭시키며 구할 수도 있지만 경우의 수가 너무 많아 귀찮아서 포기하였다... 예시로 그려진 테트로미노의 모양을 잘 살펴보면 ㅜ모양을 제외하면 DFS로 표현이 가능할 것이라는 생각이 들었다. 회색으로 칠해진 부분이 현재까지 탐색한 부분이고 ⭐의 위치가 현재 위치라고 할 때, 탐색할 수 있는 방향은 파란색의 화살표로 가는 방향뿐이기 때문에 ㅜ 모양의 탐색..