
https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 난이도 : 실버 2 태그 : 수학, 조합론, 백트래킹, 재귀 설명 주어진 숫자 중 6개를 만드는 모든 조합을 찾는 문제입니다. 숫자 자체가 오름차순으로 주어지니, 입력 배열을 정렬할 필요는 없습니다. 저는 백트래킹(재귀)으로 주워진 숫자들의 모든 경우의 수를 체크하였습니다. 소스코드 import java.util.* var n = 0 lateinit var arr: Array latei..

https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 난이도 : 브론즈 1 태그 : 수학, 다이나믹 프로그래밍 설명 피보나치 수는 재귀를 배울 때, 예시로 많이 쓰이지만, 다이나믹 프로그래밍(동적 계획법)의 예제로도 많이 쓰이죠. 이 문제 같은 경우는 재귀로는 풀 수 없으며, 다이나믹 프로그래밍(이하 dp)을 사용해 풀 수 있습니다. DP는 동적 계획법으로 번역할 수 있는데, 간단히 말하자면, 이전의 구한 값을 저..

https://www.acmicpc.net/problem/24568 24568번: Cupcake Party A regular box of cupcakes holds 8 cupcakes, while a small box holds 3 cupcakes. There are 28 students in a class and a total of at least 28 cupcakes. Your job is to determine how many cupcakes will be left over if each student gets one cupcake. www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 사칙연산 설명 8개 짜리 박스와, 3개 짜리 박스가 있고, 최소 28개의 컵케이크 중, 28명의 학생..

https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 구현 설명 점화식을 배울 때 예시로 많이 쓰이는 피보나치 수 입니다. 이전 두 수의 합이 다음 수가 된다는 점에서, n1, n2의 합을 더한 수를 저장해놓고, n1에 n2를 저장하고, n1과 n2를 저장해논 값을 n2에 저장하는 방식으로 풀 수 있습니다. 소스코드 #define _CRT_SECURE_NO_WARNINGS #inc..

https://www.acmicpc.net/problem/11179 11179번: 2진수 뒤집기 희연이는 스웨덴으로 이사하여 현재 학교를 다니고 있다. 1학년 교육과정은 중국에서 배웠고, 스웨덴과 중국 두 나라의 교육과정은 완전히 다르다. 희연이는 수학을 좋아한다. 하지만 지금은. www.acmicpc.net 난이도 : 브론즈 1 태그 : 수학, 구현, 문자열 설명 숫자 n을 2진수로 만들고, 2진수를 뒤집고, 2진수를 다시 10진수로 만드는 문제입니다. 조금 귀찮고 번거로운 문제로 보일 수 있지만... 자바/코틀린에서 기본적으로 제공하는 메소드를 잘 이용하면 쉽게 풀 수 있습니다. 소스코드 fun main() { print((Integer.toBinaryString(readLine()!!.toInt()..

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 난이도 : 실버 5 태그 : 정수론, 수학, 소수판정 설명 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 주어진 n개의 수 중 소수를 찾는 문제입니다. 소수를 판단하는 방법은, 2부터 해당 수 - 1까지 나눠진다면 소수입니다. 소스코드 re = int(input()) nu..

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 난이도 : 브론즈 3 태그 : 수학, 구현 설명 N개의 정수가 주어지고, 최소값과 최대값을 구하는 문제입니다. 첫 번째 값을 각각 최소값, 최대값으로 초기화하고, 최소값보다 더 작은 값이 나타날 때마다 최소값을 갱신하고, 최대값보다 더 큰 값이 나타날 때마다 최대값을 갱신합니다. 소스코드 import java.util.Scanner; public class Ma..

https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 난이도 : 실버 3 태그 : 수학, 기하학 설명 진입 / 이탈 횟수를 최소로 하는 경로를 찾아야 합니다. 각 행성계와 시작점, 도착점에 따라 나올 수 있는 경우의 수는 3가지 입니다. 1) 시작, 도착점 모두 행성계 외부에 있을 때 시작, 도착점 모두 행성계 외부에 있을 경우, 해당 행성계는 진입/ 이탈 할 필요가 없습니다. 2) 시작, 도착점 모두 행성계 안쪽에 있을 때 시작점, ..

https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 구현, 문자열 설명 8진수를 2진수로 바꾸는 문제입니다. 저는 처음에는 Java의 Integer클래스가 기본으로 제공하는 parseInt, toOctalString() 등을 사용해 풀이하려 했는데, 런타임 에러를 받고, 왜 그런지 봤더니 수의 길이가 최대 333,334 자리네요. Long의 자료형에 담기에는 좀 깁니다. 조금 다르게 접근해야 할 것 같습니다. 8진수, 16진수는 사실 컴퓨터공학 계열에서 꽤나 많이 쓰입니다. 2진수와의 변환이 쉽기 때문이죠. 보통 2진..

https://www.acmicpc.net/problem/8871 8871번: Zadanie próbne 2 Twój program powinien wypisać dwie liczby oddzielone pojedynczym odstępem. Pierwsza liczba to minimalna liczba zadań jaka może pojawić się podczas n rund punktowanych i jednej rundy próbnej w trakcie SKI'10. Druga liczba to maksymalna liczba zada www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 사칙연산 설명 한 번의 시범 라운드와, n번의 득점 라운드가 주어집니다. 각 라운드에서 2~3점..