차곡차곡 성 쌓기
article thumbnail
[백준] 점프 : 1890 : Java - DP (S1)
알고리즘/백준 2023. 11. 29. 17:51

1. 💎 문제 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 2. 🤔 어떻게 풀까 현재 위치에서 이동할 수 있는 경우의 수는 2가지 뿐이다. 오른쪽 또는 아래로 현재 칸에 적혀있는 수만큼 이동하는 것이다. 그러므로 위치마다 2가지 경우를 고려하여 경우의 수를 누적한다. 코드가 짧아 바로 전체 코드로 간다. 3. 🖥️ 전체 코드 행렬의 순서대로 요소를 탐색한다. 현재 칸에 적혀있는 수만큼 오른쪽, 아래로 이동하여 이동한 위치의 경우의 수를 증가시킨다. int length = (int)map[i][j..

article thumbnail
[백준] 경로 찾기 : 11403 : Java - BFS, 최단 경로 (S1)
알고리즘/백준 2023. 11. 25. 02:55

1. 문제 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 길이가 양수인 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net i번째 숫자가 j번째에 도달할 수 있는지 출력한다. 가능하면 1, 불가능하면 0을 출력 2. 어떻게 풀까? 입력으로 주어지는 형식이 인접행렬일 뿐 결국 간선의 정보이다. 그러므로 평소 풀던것 처럼 `ArrayList []`를 생성하여 간선의 정보를 저장한 뒤, 1부터 N번째 숫자를 차례로 BFS 탐색을 진행하기로 했다. 만약 1을 시작으로 BFS 함수를 호출하면 1에서 다른 요소인 {2,3,4,5,6} 에 도달할 수 있는 탐색을 통해 알아낸다. // 1부터 N까지 각 BFS 탐색 ..

article thumbnail
[백준] 카잉 달력 : 6064 : Java - 브루트 포스 (S1)
알고리즘/백준 2023. 11. 24. 00:40

1. 💎 문제 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 2. 🤔 어떻게 풀까 문제를 잘 읽어보면 달력에 표현되는 수는 x는 M으로 나눈 나머지, y는 N으로 나눈 나머지 값이다. 그러므로 입력으로 주어진 x,y가 몇 번째 해를 아는지 알기 위해서는 결국 아래 두 조건을 만족시키는 최소 공배수가 필요하다. M으로 나누었을 때 나머지가 x이다. N으로 나누었을 때 나머지가 y이다. 최소 공배수를 구하기 위해, x,y를 시작으로 각 M, N을 더해가면서 기존에 나왔던 수인지 비교한다. 비교하기 위해 `HashS..

728x90