Koala - 13기

문제 https://www.acmicpc.net/problem/5568 풀이 여러가지 방법으로 풀 수 있는데, 그 중에 순열을 사용했다. 주어진 수들을 순열로 조합을 해보고, 겹치는 수를 제외하면 된다. 겹치는 수는 집합(set)을 활용해 없애준다. 이후, 집합 내의 원소 개수(len)을 출력하면 된다. Code from itertools import permutations n = int(input()) k = int(input()) nums = [input() for _ in range(n)] new_nums = set() for c in permutations(nums, k): new_nums.add("".join(c)) print(len(new_nums))
규칙 - 문제 인증, 블로그 포스팅, 모의테스트 참여를 하지 않을시 각각 활동비에서 -1000원씩 차감 - 학회 활동이 끝난 후, 스터디 우수 참여자에게 차감된 활동비를 N분의 1로 나눠서 지급 - 스터디 우수 참여자 기준은 남은 활동비의 내림차순으로 정렬하여 가장 높은 참여자들로 선정 김강연 - kky9525 - kky9525 김경래 - future0610 - future0610 문채영 - mcy325 - 나는 푸딩 박준규 - junju404 - junju404 박해승 - parkhs21 - devhex 오상준 - highjune - en2014 이은석 - lanmecan - 컴공학생1 이해령 - haeryeong - haerr 정종문 - whdans4005 - Langerak 차정은 - jyc0011..
https://www.acmicpc.net/problem/1267 문제 1267번: 핸드폰 요금 동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 코드 문제 풀이 1) 문제에 주어져있는 숫자를 가지고 몇 숫자들을 30과 60을 기준으로 생각해보았다 2) '영식이는 30초가 넘으면 20원 안넘으면 10원', '민식이는 60초가 넘으면 30원 안넘으면 15원', 이런식으로 부등식을 이용한 방법을 생각했는데 30000초같은 엄청나게 큰 수에는 적용되지않아 고민이었다 3)그래서 문제1에 나와있는 시간들을 30으로 나누어 보았더니 40//30=1 40..
문제 https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 소스코드 t = int(input()) for i in range(t): a,b = map(int,input().split()) print(a+b) 문제풀이 1. 테스트 개수 t를 입력받는다 2. for 반복문을 통해 t만큼 반복한다 3. t번만큼 a와 b를 입력받고 a+b를 출력한다
https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 유형 백트래킹 문제 N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출..
문제 풀이 k개의 수가 주어지고, 이 수들 중에서 6개의 무작위 조합을 뽑아내는 문제이다. 6개의 1과 k - 6개의 0을 가진 배열 sub을 만들고 이 sub 배열로 순열을 만든다. sub 배열에서 값이 1인 인덱스를 가져와 입력 받은 로또 번호를 출력해주어 순열로 조합을 구현하였다. 구현 #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); while (1) { int K; cin >> K; if (K == 0) break; vector lotto(K); for (int i = 0; i > lotto[i]; } vector sub; ..
https://www.acmicpc.net/problem/9325 9325번: 얼마? 해빈이는 학교를 다니면서 틈틈히 번 돈으로 자동차를 사려고 한다. 자동차에 여러 가지 옵션을 포함시킬 수 있는데 해빈이는 덧셈과 곱셈을 하지 못하기 때문에 친구 태완이에게 도움을 청했 www.acmicpc.net 문제 해빈이는 학교를 다니면서 틈틈히 번 돈으로 자동차를 사려고 한다. 자동차에 여러 가지 옵션을 포함시킬 수 있는데 해빈이는 덧셈과 곱셈을 하지 못하기 때문에 친구 태완이에게 도움을 청했다. 하지만 태완이도 덧셈과 곱셈을 못한다. 불쌍한 이 두 친구를 위해 모든 옵션이 주어진 자동차를 구매하는데 필요한 액수를 계산해 주자. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스의 첫 줄엔 자동차의..
https://www.acmicpc.net/problem/14724 14724번: 관리자는 누구? PROBRAIN, GROW, ARGOS, ADMIN, ANT, MOTION, SPG, COMON, ALMIGHTY중 동문 커뮤니티 관리자로 선발되는 후보가 소속한 동아리의 이름을 대문자로 출력한다. www.acmicpc.net 문제코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw =..
문제풀이 한 개의 숫자를 입력받은 후 int를 이용해 문자열 데이터를 숫자형으로 바꿔준다. *if문을 사용해서 90~100점 사이는 A를 출력한다. *elif문을 사용해서 80~89점 사이는 B를 출력한다. *elif문을 사용해서 70~79점 사이는 C를 출력한다. *elif문을 사용해서 60~69점 사이는 D를 출력한다. *elif문을 사용해서 60점보다 낮으면 F를 출력한다.
https://www.acmicpc.net/problem/11944 11944번: NN 첫 번째 줄에는 N, M이 주어진다. (1 ≤ N, M ≤ 2016) www.acmicpc.net 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String str=br.readLine(..
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제 요약 팀원 간 조합에 대한 점수가 2차원 배열이 입력 주어질 때, 구성원을 2팀으로 나누는 모든 경우에 대하여, (각 팀의 총 점수)의 차가 최소가 될 때의 그 값을 출력 문제 해결 최소값을 구해야 하므로 팀을 구성할 수 있는 모든 경우의 수를 살펴보아야 한다. 팀원 간 조합을 모두 따져봐야하므로 백트래킹을 시도한다. 사람의 수가 4~20의 짝수 이므로, 최대 20C2의 조합의 개수가 발생하고, 2차원 배열의 크..
https://www.acmicpc.net/problem/2752 문제 동규는 세수를 하다가 정렬이 하고 싶어졌다. 정수 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어졌다. 정수 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오. 입력 정수 세 개가 주어진다. 이 수는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 수는 모두 다르다. 출력 제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다. 풀이 1. 공백으로 구분된 정수를 입력받아 리스트에 저장한다. 2. 바깥쪽의 for 루프는 정렬을 반복하는 횟수를 나타낸다. i가 0부터 2까지 변하는 동안 정렬을 수행한다. 3. 안쪽의 for 루프는 현재 인덱스 j와 그 다음 인덱스..
KauKoala
'Koala - 13기' 카테고리의 글 목록 (9 Page)