목록전체 글 (60)
connecting the dots
문제 www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 풀이 입력 가능한 문자들 중 L개를 고른다(조합) 조합 중 모음이 한 개 이상 && 자음이 두 개 이상인 것만 자료구조에 넣는다 해당 자료구조를 sort(알파벳 순으로 정렬) 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java...
문제 www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 풀이 여러가지 풀이가 있지만 난 DP로 풀었다 / map[i][j]를 기준으로 해당 위치에 파이프가 가로/세로/대각선으로 위치할 수 있는 경우의 수를 DP로 더해나간다 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main ..
문제 www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1≤n≤100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어진 www.acmicpc.net 풀이 부모/자식간의 관계를 나타내는 relation이라는 이차원배열을 만들어 부모/자식간이면 1을, 아니라면 0이 들어있도록 한다 visit 체크도 필수 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.u..
문제 www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 벽 세개를 어떻게 채울 지 고민했던 문제. 이차원 배열에서 벽을 세울 모든 경우의 수만큼 .. 어떻게 해야 하나 싶었다. / 알고보니 평소 조합 함수를 세웠던 것과 매우! 비슷하게 cnt == 3 일 때의 기저조건을 세워주고 재귀함수를 구현하면 되는 거였다 ! 이렇게 하지 않고도 벽을 세울 수 있는 부분을 큐?같은 자료구조에 넣어두고 조합함수를 돌려도 된다. 코드 import java.util.*; import ..