목록전체 글 (245)
말랑한 하루
[ 시간복잡도 ] [ 핵심풀이 ] Math Class 잘사용하기 Math.pow() [ 핵심소스 ] [ Java ] import java.util.Scanner; public class _1217_거듭제곱 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); for(int i=0;i
[ 문제 ] 더보기 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. [ 시간복잡도 ] [ 핵심풀이 ] N 부터 1까지 감소하며 최소값을 찾아가면된다! 단, 3으로나눠지는경우, 2로나눠지는경우까지 합쳐서 생각해야하므로 세가지의 점화식이 들어가게된다 점화식은 다음과같다! dp[i / 3] = Min(dp[i / 3], dp[i]..
[ 문제 ] 더보기 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는 봉지의 최소 개수를 출력한..
[ 문제 ] 더보기 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출..
[ 문제 ] 더보기 BOJ 알고리즘 캠프에는 총 N명이 참가하고 있다. 사람들은 0번부터 N-1번으로 번호가 매겨져 있고, 일부 사람들은 친구이다. 오늘은 다음과 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구해보려고 한다. A는 B와 친구다. B는 C와 친구다. C는 D와 친구다. D는 E와 친구다. 위와 같은 친구 관계가 존재하는지 안하는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 사람의 수 N (5 ≤ N ≤ 2000)과 친구 관계의 수 M (1 ≤ M ≤ 2000)이 주어진다. 둘째 줄부터 M개의 줄에는 정수 a와 b가 주어지며, a와 b가 친구라는 뜻이다. (0 ≤ a, b ≤ N-1, a ≠ b) 같은 친구 관계가 두 번 이상 주어지는 경우는 없다. 출력 문제의 조건..
Github에 잔디를 깔던 친구의 잔디밭이 너무나 이뻐보였다.. 나도 열심히해서 이쁜 잔디밭 진한잔디밭 만들고 싶어서 2주동안 열심히해봣따!!! 근데... 중간에 듬성듬성 사라진 내잔디들... ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 분명히 난 햇는데!!! 확인해보니 git bash에서 username과 useremail이 적용이 안되있엇다... git config --list ㅠㅜㅠㅠㅜㅜㅜㅜㅜㅠㅠㅠㅠㅠㅠㅠㅠㅠ 분명 아래 코드를 입력했었는데... 그래서 가만히있었는데... git config --global user.name Jisup git config --global user.email xrl0603@naver.com 이후에 적용 된 것을 확인을 안해본 내잘못이엇따.. 정확한 입력은 git config --gl..
[ 소스 코드 ] import java.util.Arrays; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Scanner; public class _15666_N과M_12 { static final int MAX = 8; static int N, M; static int ary[]; static int temp[]; static StringBuilder sb = new StringBuilder(); static LinkedHashSet h = new LinkedHashSet(); static void permutation(int cnt) { if (cnt == M) { String input=""; for(int ..
[ 핵심소스 ] static LinkedHashSet h = new LinkedHashSet(); if(h.add(input+"\n")) sb.append(input+"\n"); return; [ 소스 코드 ] import java.util.Arrays; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Scanner; public class _15665_N과M_11 { static final int MAX = 7; static int N, M; static int ary[]; static int temp[]; static StringBuilder sb = new StringBuilder(); static LinkedH..