목록분류 전체보기 (157)
원하는 것은 뭐든지
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제 풀이문제 해석1. 입력으로 주어지는 n 만큼의 길이가 1인 삼각형이 거꾸로 있고 그에 맞춰 사다리꼴이 되도록 하는 삼각형이 생긴다.2. 즉 윗변의 길이는 n이고 밑 변의 길이는 n+1이다.3. 또 다른 입력으로 윗변과 맞닿도록 생성되는 삼각형의 위치가 주어진다.4. 예를 들어 n이 4이고 다른 입력이 [1,1,0,1] 이면 뒤집힌 삼각형 중 세 번째 삼각형만 제외하고 마름모가 완성된다.5. 이렇게 만들어진 모양을 삼각형 또는 그 삼각형 두개를 이어 붙인 마름모를 사용해서 빈 곳 없이 채우려고 할 때 경우의 수를 10007로 나눈 나머지를 출력해라문제 풀이1. dp로 풀이하면 된다.2. 두가지로 나누어서 생각하면 그나마 이해하기 수월하다...
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 우주 탐사선 ana호를 타고 모든 행성을 탐사하는데 걸리는 최소 시간을 계산2. 행성의 개수와 출발하는 행성의 번호가 주어짐3. 다시 시작 행성으로 돌아올 필요 없고 방문했던 행성도 중복해서 갈 수 있음4. 모든 행성을 탐험하는데 걸리는 최소시간을 출력하면 됨문제 풀이1. 하나의 행성에서 각 해성까지 가는 최소 거리를 구한다.2. 방법으로는 N이 10으로 작기 때문에 플로이드-와샬 알고리즘을 사용한다.3. 그 후 dfs를 돌려서 완전탐색을 실시하여 가장 작은 값을 answer에 담아 출력한다.소스코드package online.judge.baekjoon;import java.io.BufferedReader;import ja..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 단어 N개가 주어진다.2. 두 단어를 비교해서 가장 비슷한 두 단어를 출력하면된다.3. 비슷한 것의 기준은 같은 접두사의 길이가 길면 비슷한 것이다.4. 만약 최대로 겹치는 값이 여러개 일 경우에는 앞쪽에 있는 단어를 우선으로 한다.문제 풀이1. 시간도 널널하고 비교적 데이터의 수가 20,000개로 많지 않기 때문에 단순 비교로 풀이 가능2. 앞에 단어부터 시작해서 비교해가면서 max값보다 겹치는 접두사의 길이가 크다면 변경해주고 인덱스를 저장해준다.3. 자세한것은 코드 참조소스코드package online.judge;import java.io.BufferedReader;import java.io.IOException;i..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. n x n 크기의 방이 검은색, 흰색으로 채워져 있다.2. 검은색은 지나갈 수 없다.3. 0,0에서 n-1, n-1까지 가야 한다.4. 검은 방을 최소로 지나도록 하려고 한다.5. 최솟값을 출력해라문제 풀이1. 최단거리문제이므로 BFS를 사용한다.2. 지나가면서 검은 방을 만나면 부시고 개수를 세고 기록한다.3. 모든 경로를 탐색하고 도착지점에 최솟값이 저장되었으므로 그곳의 값을 출력한다.소스코드package online.judge.baekjoon;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import j..