브루트포스
[백준] 1034번 : 램프 Gold4(골드4) - JAVA[자바]
[Gold IV] 램프 - 1034문제 링크성능 요약메모리: 11632 KB, 시간: 64 ms분류애드 혹, 브루트포스 알고리즘제출 일자2024년 6월 1일 00:55:34문제 설명지민이는 각 칸마다 (1×1크기의 정사각형) 램프가 들어있는 직사각형 모양의 탁자를 샀다. 모든 램프는 켜져있거나 꺼져있다. 각 열의 아래에는 스위치가 하나씩 달려있는데, 이 스위치를 누를 때마다 그 열에 있는 램프의 상태가 바뀐다. 켜져있는 램프는 꺼지고, 꺼져있는 램프는 켜진다)만약 어떤 행에 있는 램프가 모두 켜져있을 때, 그 행이 켜져있다고 말한다. 지민이는 스위치를 K번 누를 것이다. 서로다른 스위치 K개를 누르지 않아도 된다. 지민이는 스위치를 K번 눌러서 켜져있는 행을 최대로 하려고 한다.지민이의 탁자에 있는 램프..
[백준] 15683번 : 감시 Gold4(골드4) - JAVA[자바]
[Gold IV] 감시 - 15683 문제 링크 성능 요약 메모리: 67488 KB, 시간: 216 ms 분류 백트래킹, 브루트포스 알고리즘, 구현, 시뮬레이션 제출 일자 2024년 2월 12일 15:28:05 문제 설명 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 2번 3번 4번 5번 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감시하는 방향이 서로 반대방향이어야 하고, 3번은 직각 방향이어야 한다. 4번은 세 방향, 5번은 네 방향을 감시할 수 있..
[백준] 17135번 : 캐슬 디펜스 Gold3(골드3) - JAVA[자바]
[Gold III] 캐슬 디펜스 - 17135 문제 링크 성능 요약 메모리: 41344 KB, 시간: 220 ms 분류 너비 우선 탐색, 브루트포스 알고리즘, 그래프 이론, 그래프 탐색, 구현, 시뮬레이션 제출 일자 2024년 2월 11일 17:00:14 문제 설명 캐슬 디펜스는 성을 향해 몰려오는 적을 잡는 턴 방식의 게임이다. 게임이 진행되는 곳은 크기가 N×M인 격자판으로 나타낼 수 있다. 격자판은 1×1 크기의 칸으로 나누어져 있고, 각 칸에 포함된 적의 수는 최대 하나이다. 격자판의 N번행의 바로 아래(N+1번 행)의 모든 칸에는 성이 있다. 성을 적에게서 지키기 위해 궁수 3명을 배치하려고 한다. 궁수는 성이 있는 칸에 배치할 수 있고, 하나의 칸에는 최대 1명의 궁수만 있을 수 있다. 각각의..
[백준] 17281번 : ⚾︎ Gold4(골드4) - JAVA[자바]
[Gold IV] ⚾ - 17281 문제 링크 성능 요약 메모리: 12564 KB, 시간: 408 ms 분류 브루트포스 알고리즘, 구현 제출 일자 2024년 2월 11일 15:40:49 문제 설명 ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종료되고, 두 팀이 공격과 수비를 서로 바꾼다. 두 팀은 경기가 시작하기 전까지 타순(타자가 타석에 서는 순서)을 정해야 하고, 경기 중에는 타순을 변경할 수 없다. 9번 타자까지 공을 쳤는데 3아웃이 발생하지 않은 상태면 이닝은 끝나지 않고, 1번 타자가 다시 타석에 선다. 타순은 이닝이 변경되어도 순서를 유지해야 한다. ..
[백준] 16637번 : 괄호 추가하기 Gold3(골드3) - JAVA[자바]
[Gold III] 괄호 추가하기 - 16637 문제 링크 성능 요약 메모리: 11780 KB, 시간: 80 ms 분류 브루트포스 알고리즘, 구현 제출 일자 2024년 2월 5일 20:26:53 문제 설명 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순서대로 계산해야 한다. 예를 들어, 3+8×7-9×2의 결과는 136이다. 수식에 괄호를 추가하면, 괄호 안에 들어있는 식은 먼저 계산해야 한다. 단, 괄호 안에는 연산자가 하나만 들어 있어야 한다. 예를 들어, 3+8×7-9×2에 괄호를 3+(8×7)-(9×2)와 같이 추가했으면, 식의 결과는 41이 된다..
[백준] 18429번 : 근손실 Silver3(실버3) - JAVA[자바]
[Silver III] 근손실 - 18429 문제 링크 성능 요약 메모리: 12428 KB, 시간: 108 ms 분류 백트래킹, 브루트포스 알고리즘 제출 일자 2024년 1월 15일 21:54:53 문제 설명 웨이트 트레이닝을 좋아하는 어떤 대학원생은, 현재 3대 운동 중량 500의 괴력을 소유하고 있다. 다만, 하루가 지날 때마다 중량이 K만큼 감소한다. 예를 들어 K=4일 때, 3일이 지나면 중량이 488로 감소하게 된다. 따라서 운동을 하지 않고, 가만히 있다면 매일매일 중량이 감소할 뿐이다. 다행히도 이 대학원생은 N개의 서로 다른 운동 키트를 가지고 있다. 이 대학원생은 하루에 1개씩의 키트를 사용하며, 매일 어떤 키트를 사용할 지는 마음대로 결정할 수 있다. 운동 키트들은 각각의 중량 증가량을..
[SW expert Academy] SWEA 1861번 정사각형 방 자바(Java)
[D4] 정사각형 방 - 1861 문제 링크 성능 요약 메모리: 90,440 KB, 시간: 536 ms, 코드길이: 2,631 Bytes 제출 일자 2024-01-09 23:23 접근 방식 1. 입력 받은 배열을 for문을 통해 전부 확인한다. 2. bfs()를 통해서 상,하,좌,우로 갈 수 있는 경우의 수를 모두 확인해준다. 3. 만약 더 이상 갈 곳이 없다면 result에 갱신한다. -> 이 과정에서 같다면 방의 번호가 더 작은 방으로 해야함 1. for문을 통해 전부 확인 // for문을 통해서 전부 bfs를 통해 각 값 확인 for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ bfs(new Point(i,j,1)); } } 2. bfs()를 통해서 ..
[SW expert Academy] SWEA 1247번 최적 경로 자바(Java)
[D5] [S/W 문제해결 응용] 3일차 - 최적 경로 - 1247 문제 링크 성능 요약 메모리: 103,844 KB, 시간: 1,449 ms, 코드길이: 2,215 Bytes 제출 일자 2023-12-31 18:34 풀이 방법 1. N명의 고객을 방문하고 집으로 간다. 2. 회사, 집 위치, 각 고객의 위치는 이차원 정수 좌표(x,y)로 줌 3. 두 위치 사이는 |x1-x2| + |y1-y2| 로 계산 4. 회사에서 출발하여 모든 고객을 방문하고 집으로 돌아오는 경로 중 가장 짧은 것을 찾으려 함 5. 회사와 집의 좌표, 2~10명 사이 고객 좌표가 주어짐 6. 모두 방문하고 집으로 가는 경로 중 총 이동거리가 가장 짧은 경로의 이동거리 출력 a. 브루트 포스로 모든 경우의 수를 출력한다. b. 클래스..