[백준] 2615번 - 오목 java
·
Algorithm/Baekjoon
https://www.acmicpc.net/problem/2615 난이도 : S1Tag : Simulation풀이 일자 : 2025-03-13문제 탐색하기이기는 경우: 같은 색의 바둑알이 정확히 5개 연속으로 놓인 경우 (가로, 세로, 대각선)6개 이상 연속될 경우 승리로 인정되지 않음바둑알 정보검은 바둑알: 1흰 바둑알: 2빈자리: 0출력 조건검은색이 이긴 경우 1 출력흰색이 이긴 경우 2 출력승부가 결정되지 않은 경우 0 출력이겼을 경우 → 연속된 다섯 개의 바둑알 중 가장 왼쪽에 위치한 바둑알의 좌표 출력세로로 배치된 경우 → 가장 위쪽의 바둑알 좌표 출력입력값19×19 크기의 바둑판 상태즉 이 문제는 바둑판을 탐색하며 오목(정확히 5개 연속)을 찾고, 가장 왼쪽 또는 위쪽에 있는 바둑알의 위치를 ..
[백준] 2503번 - 숫자 야구 java
·
Algorithm/Baekjoon
https://www.acmicpc.net/problem/2503 난이도 : S3Tag : Simulation풀이 일자 : 2025-03-12문제 탐색하기영수가 생각한 수: 111 ~ 999 (0 제외, 중복 숫자 없음)민혁이가 질문한 수: 111 ~ 999 (0 제외, 중복 숫자 없음)N: 질문의 수 (1 스트라이크 (Strike): 같은 숫자가 같은 위치에 존재할 경우볼 (Ball): 같은 숫자가 존재하지만, 위치가 다를 경우민혁이가 질문을 하고 영수가 대답한 정보를 파악해서 답이 될 수 있는 숫자의 개수를 출력해야 합니다.이때, 각 숫자는 서로 달라야 합니다.가능한 시간복잡도문제에 요구하는대로 구현하는 시뮬레이션 문제입니다.먼저 숫자는 1부터 9까지로 이루어진 서로다른 3자리의 수 입니다.그럼 모든..
[백준] 13567번 - 로봇 java
·
Algorithm/Baekjoon
https://www.acmicpc.net/problem/13567 난이도 : S4Tag : Simulation풀이 일자 : 2025-03-11문제 탐색하기초기 조건처음 로봇위치 : (0, 0)동쪽 방향을 보고 있음M : 정사각형 S의 한 변의 길이 (1 n : 로봇이 수행할 명령어 수 (1 동작TURN 0 : 현재 위치에서 왼쪽으로 90도 회전TURN 1 : 현재 위치에서 오른쪽으로 90도 회전MOVE d : 현재 방향으로 d만큼 움직임 (1 모든 명령 수행 후 로봇이 S의 경계를 포함한 안에 있으면 좌표 출력경계를 벗어났다면  -1 출력 즉 (0,0) 동쪽 방향부터 시작하여 로봇이 명령어 수만큼 움직였을 때 경계를 포함한 내부에 로봇이 있다면 로봇의 좌표를범위를 벗어낫다면 -1을 출력하면 됩니다.가능..
[백준] 2096번 - 내려가기 java
·
Algorithm/Baekjoon
https://www.acmicpc.net/problem/2096 난이도 : G5Tag : DP풀이 일자 : 2025-03-10문제 탐색하기N: 줄 개수 (1 각 줄마다 3의 숫자(01번 줄에서 N번줄까지 이동하며 점수가 누적이동 규칙:현재 위치에서 아래 인접한 칸으로만 이동 가능즉, (i, 0) → (i+1, 0 or 1), (i, 1) → (i+1, 0 or 1 or 2), (i, 2) → (i+1, 1 or 2) 위 규칙을 만족하면서 N 번 줄까지 내려올 때의 최대 점수와 최소 점수를 구하는 게 핵심가능한 시간복잡도브루트포스(완전탐색)으로 풀 경우 O(3^n)이 걸립니다.이때 최대 N이 100,000이므로 절대 불가능합니다. 17만 되어도 1억이 넘어버리기 때문이죠. DP로 풀 경우 O(N)이기때문..
[백준] 1149번 - RGB거리 java
·
Algorithm/Baekjoon
https://www.acmicpc.net/problem/1149 난이도 : S1Tag : DP풀이 일자 : 2025-03-09문제 탐색하기N: RGB거리에 존재하는 모든 집의 개수 (2 N개의 줄: N번째 집을 빨강, 초록, 파랑으로 칠하는 비용 (1  조건1번 집의 색은 2번 집의 색과 같지 않아야 한다.N번 집의 색은 N-1번 집의 색과 같지 않아야 한다.i(2 ≤ i ≤ N-1) 번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다.조건을 정리하면 모든 집의 색은 인접한 집과 색깔이 달라야 합니다.이 조건을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구하면 됩니다.가능한 시간복잡도0.5초이므로 시간 복잡도가 5000만 이하여야 합니다.브루트포스(완전탐색)로 풀 경우 O(3^n)이 걸리고..
[백준] 14430번 - 자원 캐기 java
·
Algorithm/Baekjoon
https://www.acmicpc.net/problem/14430 난이도 : S2Tag : DP풀이 일자 : 2025-03-08문제 탐색하기N: 탐사할 영역의 세로길이 (1 M: 탐사할 영역의 가로길이 (1 1: 자원0: 빈 땅 로봇은 왼쪽 위(1, 1)부터 오른쪽 아래(N, M)까지 자원을 채집이동 가능 방향: 오른쪽 또는 아래쪽즉, N*M의 땅에서 로봇이 이동하며 모을 수 있는 자원의 최대 개수를 구하면 됩니다.가능한 시간복잡도완전탐색:각 위치에서 왼쪽 또는 오른쪽으로 이동 가능하므로 대략 O(2^(N*M))입니다. 최대 시간복잡도를 생각하면 O(2^(300*300))이므로 탐색 불가능합니다. DP:각 위치에 왔을 때 최선의 값을 유지하며 이동시 시간복잡도가 O(N*M)입니다.N*M ≤ 90,000..
[백준] 9095번 - 1, 2, 3 더하기 java
·
Algorithm/Baekjoon
https://www.acmicpc.net/problem/9095 난이도 : S3Tag : DP풀이 일자 : 2025-03-07문제 탐색하기T : 테스트 케이스 수n : 1,2,3의 합으로 나타낼 수 (1  이 문제는 정수 n을 1, 2, 3의 합으로 나타내는 모든 경우의 수를 구하는 문제입니다. 즉, 주어진 숫자 n을 만들 수 있는 서로 다른 합의 방법을 찾는 것이 핵심입니다. 예를 들어, n = 4일 때 가능한 조합은 다음과 같습니다.1+1+1+11+1+21+2+12+1+12+21+33+1가능한 시간복잡도이 문제는 n 이를 일반화하여 n이 커질 때의 시간복잡도를 고려하면 완전 탐색O(3^n)은 비효율적입니다.예를 들어, n=20이면 경우의 수가 121415개이고,  O(3^20) ≈ 35억 번의 연산..
[백준] 10026번 - 적록색약 java
·
Algorithm/Baekjoon
https://www.acmicpc.net/problem/10026 난이도 : G5Tag : BFS/DFS풀이 일자 : 2025-03-06문제 탐색하기RRRBBGGBBBBBBRRBBRRRRRRRR N: 그리드의 한 변의 길이 (1 그리드의 각 칸은 R(빨강),G(초록),B(파랑)중 하나로 색칠되어 있다.적록색약인 사람은 빨간색과 초록색을 구분하지 못한다.위 그림을 예시로 들면 정상인은 4개의 구역을, 적록색약은 3개의 구역을 보게 된다.즉 이 문제는 탐색 알고리즘(DFS/BFS)을 사용하여 각 격자를 탐색 후 색깔별로 정상인이 보는 구역의 개수와 적록색약이 보는 구역의 개수를 계산하는 게 핵심입니다. 가능한 시간복잡도먼저 각 구역을 하나하나 탐색해야 하므로 최대 O(100*100) = O(10,000)의..