목록Algorithm/Baekjoon (42)
Development Palette
1331번: 나이트 투어 나이트 투어는 체스판에서 나이트가 모든 칸을 정확히 한 번씩 방문하며, 마지막으로 방문하는 칸에서 시작점으로 돌아올 수 있는 경로이다. 다음 그림은 나이트 투어의 한 예이다. 영식이는 6× www.acmicpc.net 1. 이전좌표와 현재좌표의 길이의 차이로 판단하여 nightTour 하는 방법 package com.구현.b1331_나이트투어; import java.util.Scanner; public class Main2 { static int[][] map = new int[6][6]; static int beforeR = 0; static int beforeC = 0; public static void main(String[] args) { Scanner sc = new S..
https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net package com.BFS.b2206_벽부수고이동하기; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenize..
11401번: 이항 계수 3 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. www.acmicpc.net 이 문제의 범위는 1

를 구하는 방법은 nCk이다. nCk를 구하기 위해 파스칼의 삼각형을 이용할 수 있다. 파스칼의 삼각형(Pascal's triangle)은 수학에서 이항계수를 삼각형 모양의 기하학적 형태로 배열한 것이다. 파스칼의 삼각형 파스칼의 삼각형 파스칼의 삼각형이란 자연수를 삼각형 모양으로 배열한 것을 말해.이는 원래 중국인에 의해 만들어졌으나 프랑스의 수학자 파스칼(1623~1662)이 체계적인 이론을 만들고 그 속에 terms.naver.com 파스칼의 삼각형의 규칙을 이용하면 nCk = (n-1Ck-1) + (n-1Ck) 주의할점 : k=0, n = k 일 때 경우의 수는 항상 1이다 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ..

17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 미세먼지 퍼져나가는 부분을 인접한 4방향으로만 퍼져나가게만 하면 되는데 공기청정기 조건을 생각하다가 잘못접근해서 시간이 오래걸렸다 나는 공기청정기 바람 방향에 따라 일일이 for문 돌려줬지만 공기청정기 위,아래를 중심으로 map을 두개로 나눠서 푸는 방법도 있다 package b17144_미세먼지안녕; //공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. //공기청정기의 바람에 의해 미세먼지가 모두 한 칸씩 이동한다. //공기청정기로 들어간..

1786번: 찾기 첫째 줄에, T 중간에 P가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 출력한다. 둘째 줄에는 P가 나타나는 위치를 차례대로 공백으로 구분해 출력한다. 예컨대, T의 i~i+m-1번 문자와 P의 1~m www.acmicpc.net 그냥 수업시간에 한 코드를 바꾸니까 맞았지만 KMP의 알고리즘 이해는 안됐다,, 다시 봐야함ㄹ package w0923; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; public class Main { public sta..

7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 6방향 탐색은 처음이여서 당황했다.. 그냥 4방탐색처럼 하고 가장 바깥 for문에 높이길이만큼 돌려서 3중 for문으로 하면 된다 package com.hotfive.workbook.DFS_BFS.b7569_토마토; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; impo..

7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net package com.hotfive.workbook.DFS_BFS.b7576_토마토; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokeni..