목록BOJ (78)
Jun's Development Journey
문제 www.acmicpc.net/problem/10994 10994번: 별 찍기 - 19 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 풀이 1) 초기 코드 (메모리 : 34892KB, 시간 : 1148ms) import java.io.*; import java.util.*; public class Main { static char[][] star; static void print_stars(int row, int col, int N) { if(N==0) return; for(int i=row;i
문제 www.acmicpc.net/problem/10829 10829번: 이진수 변환 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000) www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static String to_binary(long N) { if(N==0) return ""; return ((N%2)+"") + to_binary(N/2); } public static void main(String[] args) throws IOException { //선언 및 입력 BufferedReader br = new BufferedReader(new InputStreamReader(S..
1. 계기 개인적으로 재귀에 대한 이해도가 떨어지고, 재귀를 사용하더라도 명확한 메커니즘을 이해하지 못하고 사용해왔다. DFS, 완전 탐색, 등등 여러 알고리즘 및 코딩 테스트 문제에 많이 쓰이는 만큼 이번 기회에 확실히 정리해두고, 많은 문제를 풀어보며 정확한 메커니즘, 사용법 등을 알아두면 좋을 것이라 생각해서 따로 카테고리를 만들어서 공부하기로 했다. 2. 계획 1) BOJ 알고리즘 분류 중 재귀 문제 풀어보고 포스팅 2) 효율성, 가독성 등의 증진을 위해 다른 사람들과의 코드 비교 및 코드 개선 3) 최대한 전역 변수 사용없이 return값으로 재귀를 만드는 연습 할 것
문제 www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 풀이 1) 삼중 포문 import java.io.*; import java.util.*; public class Main { static int min = Integer.MAX_VALUE; static int closest_for(int[] cards, int N, int M) { for(int i=0;i
문제 www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { //S : 일반좌석, L : 커플석 //인접한 좌석 사이엔 컵홀더 1개씩, 양 끝 좌석에는 하나씩 더 있다. //커플석 사이에는 컵홀더 없다. static int N; static String seats; public static void main(String[] args) throws IOException { //선언 및 입력 BufferedReader br = new BufferedReader..
문제 www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int N; static int get_package(int N) { ArrayList cnts = new ArrayList(); int f_div = N/5, th_div = N/3; if(N%5==0) cnts.add(N/5); if(N%3==0) cnts.add(N/3); for(int i=..
문제 www.acmicpc.net/problem/2965 2965번: 캥거루 세마리 첫째 줄에 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100) www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int[] pos; public static void main(String[] args) throws IOException { //선언 및 입력 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; StringBuilder sb = new StringBuilder..
문제 www.acmicpc.net/problem/1434 1434번: 책 정리 첫째 줄에 박스의 개수 N, 책의 개수 M이 주어진다. 둘째 줄에는 박스의 용량 A1, A2, ..., AN이 주어지고, 셋째 줄에는 B1, B2, ..., BM이 주어진다. www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int N,M; static int cap[], size[]; public static void main(String[] args) throws IOException { //선언 및 입력 BufferedReader br = new BufferedReader(new InputStreamReader(System..