728x90

코딩테스트/백준 5

[백준1783] 병든 나이트 - 4가지 이동 조건을 활용한 Java 분기 처리

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/1783레벨 : 실버3 ✅ 문제 요약dfs 문제라고 생각했으나 입력 값의 범위를 보고 아니라고 판단패턴을 파악해서 풀이하는 문제병든 나이트의 패턴(오른쪽으로만 움직일 수 있음)2칸 위로, 1칸 오른쪽1칸 위로, 2칸 오른쪽1칸 아래로, 2칸 오른쪽2칸 아래로, 1칸 오른쪽4칸 이상이면 4가지 패턴 모두 사용해야 함.✅ 문제 설명 병든 나이트가 N × M 크기 체스판의 가장 왼쪽아래 칸에 위치해 있다. 병든 나이트는 건강한 보통 체스의 나이트와 다르게 4가지로만 움직일 수 있다.2칸 위로, 1칸 오른쪽1칸 위로, 2칸 오른쪽1칸 아래로, 2칸 오른쪽2칸 아래로, 1칸 오른쪽병든 나이트는 여행을 시작하려고 하고, 여행을 ..

[백준 4963번] 섬의 개수 – Java DFS 풀이

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/4963레벨 : 실버2  ✅ 문제 요약dfs 문제에 대각선 방향 추가 상하좌우 + 대각선으로 연결 된 1들은 같은 섬으로 봄1끼리 연결된 구역의 수를 세는 문제입력은 여러 개의 지도이고, (w,h) = 0 0 일 경우 종료 ✅ 문제 설명 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오.한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다.입력입력은 여러 개의 테스트..

[백준 2468번] 안전 영역 – Java DFS 풀이

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/2468레벨 : 실버1  ✅ 문제 요약기본적인 dfs 문제어떤 지역이 2차원 배열로 주어지고, 각 칸에는 해당 지점의 높이가 주어지고 비가 많이 오면 특정 높이 이하의 땅은 물에 잠김물에 잠기지 않는 땅들이 연결되어 있는 덩어리(=안전 구역)가 몇 개인지 계산. 단, 최대로 안전한 구역이 몇 개인지 출력 ✅ 문제 설명입력첫째 줄에는 어떤 지역을 나타내는 2차원 배열의 행과 열의 개수를 나타내는 수 N이 입력된다. N은 2 이상 100 이하의 정수이다. 둘째 줄부터 N개의 각 줄에는 2차원 배열의 첫 번째 행부터 N번째 행까지 순서대로 한 행씩 높이 정보가 입력된다. 각 줄에는 각 행의 첫 번째 열부터 N번째 열까지 N..

[백준 14495번] 피보나치 비스무리한 수열 - JAVA, 점화식 대입 방법 풀이

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/14495레벨 : 실버4  ✅ 문제 요약백준 14495번 문제는 주어진 공식을 대입해서 푸는 문제문제에 주어진 식을 대입해서 풀면 되는 문제로 크게 어려운 문제는 아님int 형 범위 초과로 long 타입을 써줘야 하는 함정 문제.  ✅ 문제 설명문제피보나치 비스무리한 수열은 f(n) = f(n-1) + f(n-3)인 수열이다. f(1) = f(2) = f(3) = 1이며 피보나치 비스무리한 수열을 나열하면 다음과 같다.자연수 n을 입력받아 n번째 피보나치 비스무리한 수열을 구해보자!1, 1, 1, 2, 3, 4, 6, 9, 13, 19, ...입력자연수 n(1 ≤ n ≤ 116)이 주어진다.출력n번째 피보나치 비스무리..

[백준 1929번] 자바로 소수 구하기 - 루트 N 소수 판별 알고리즘 설명 포함

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/1929  ✅ 문제 요약백준 1929번 문제는 주어진 범위 내에서 소수 출력 문제.모든 수를 대입해 소수를 찾게 되면 시간 제한에 걸리므로, 시간 효율성을 위해 루트 N 방식을 활용 해 문제를 풀었다.  ✅ 문제 설명문제M이상 N이하의 소수를 모두 출력하는 프로그램 작성입력첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.출력한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.# 예제 입력 13 16# 예제 출력 13571113  ✅ 핵심 아이디어/알고리즘어떤 수 n이 소수인지 확인하기 위해서는 2부터 √n(루..

728x90