목록전체 글 (188)
alpyrithm_알파이리즘
입출력 10951 A+B - 4 www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀기 전 공부할 것 : 입출력, while 풀이 1 Scanner를 이용하여 입력을 받는다. 다음에 입력받는 값이 있으면 A, B를 입력받고 합을 출력하는 과정을 반복한다. 입력받는 값이 있는가 확인하는 방법은 hasNext(), hasNextInt() 사용한다. import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while ..
입출력 10950 A+B - 3 www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀기 전 공부할 것 : 입출력, 반복문 풀이 숫자 A, B를 입력받는 건 A+B, A+B - 2와 같다. 이 문제에서는 t를 받아 t번만큼 반복하는 것이다. for문을 통해 A, B를 입력받고 A+B를 출력하는 과정을 반복한다. import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for ..
입출력 2558 A+B - 2 www.acmicpc.net/problem/2558 2558번: A+B - 2 첫째 줄에 A, 둘째 줄에 B가 주어진다. (0 < A, B < 10) www.acmicpc.net 문제 풀기 전 공부할 것 : 입출력 풀이 풀이는 A+B(1000)와 같다. 입력을 위해 Scanner를 알아야 한다. 입력받는 다른 방법도 있지만 Scanner를 사용하였다. Scanner를 통해 Int(정수)를 변수에 입력받는다. 그리고 더한 값을 System.out.println으로 출력한다. 마지막에 Scanner를 닫아줘야 한다. 코딩 테스트에는 필수는 아닌 것 같다. import java.util.*; public class Main { public static void main(Strin..
입출력 1000 A+B www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀기 전 공부할 것 : 입출력 풀이 입력을 위해 Scanner를 알아야 한다. 입력받는 다른 방법도 있지만 Scanner를 사용하였다. Scanner를 통해 Int(정수)를 변수에 입력받는다. 그리고 더한 값을 System.out.println으로 출력한다. 마지막에 Scanner를 닫아줘야 한다. 코딩 테스트에는 필수는 아닌 것 같다. import java.util.*; public class Main { public static void main(String[] args) { Scanner sc =..
DP 10844 쉬운 계단 수 www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 풀기 전 공부할 것 : 다이나믹 프로그래밍 풀이 1 계단 수의 경우 n = 1 일 때는 1 - 9까지 모두 가능하다. n = 2 일 때는 1 뒤에는 0 또는 2가, 2 뒤에는 1 또는 3이, ..., 8 뒤에는 7 또는 9가, 9 뒤에는 8만 올 수 있다. 이런 규칙이 반복되는데 n = 3에서부터 나오는 0 뒤에는 1만 올 수 있다. 규칙을 만들면, 0 뒤에는 1만, 9 뒤에는 8만, 1 - 8 뒤에는 (해당 숫자 - 1) 또는 (해당 숫자 + 1)이 올 수 있다. 위의 규칙을 이용해서 개..
DP 9095 1, 2, 3 더하기 www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 풀기 전 공부할 것 : 다이나믹 프로그래밍 풀이 1 제일 처음 이 문제를 풀 때는 DP라는 것을 잘 모를 때였다. 따라서, DP가 아닌 브루트 포스를 통해 접근한 풀이이다. def solve(s): global cnt for i in arr: res.append(i) if sum(res) == s: res.pop() cnt +=1 break solve(s) res.pop() return cnt T = int(input()) for _ in range(T): s = in..
DP 11727 2xn 타일링 2 www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 문제 풀기 전 공부할 것 : 다이나믹 프로그래밍(DP) 풀이 1 2 x n번째 직사각형을 타일로 어떻게 채울 수 있는가를 고민해야 한다. 먼저 2 x 1의 경우 2 x 1의 경우 1가지이다. 2 x 2의 경우 2 x 1을 2개 붙이는 경우, 1 x 2를 2개 붙이는 경우, 2 x 2 1개로 3가지이다. 2 x 3의 경우 2 x 2에 (2 x 1을 붙이는 경우) + 2 x 1에 (1 x 2를 2개 붙이는 경우..
2557 Hello World www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 문제 풀기 전 공부할 것 : 입출력, 구현 「코딩을 배울 때 가장 배우는 것이 Hello World이다. Hello World를 출력할 때, 나는 새로운 세상을 접하는 느낌이었다.(사실 그냥 작동 원리 하나도 모르고 신기하기만 함) 코딩에서 가장 기초라고 할 수 있는 입력, 출력 문제이다. Java를 차분히 하나씩 공부할 계획이다.」 풀이 public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } }