Koala - 7기

문제 코드 import sys int = sys.stdin.readline n = int(input()) #설탕의 총량 a = aa = n // 5 for i in range(a+1, 0, -1): b = n - (5*aa) #5kg을 빼고 남은 설탕 c = b // 3 #3kg으로 묶은 설탕봉지 수 nn = n - ((5*aa) + (3*c)) if nn == 0: print(aa + c) break else: aa -= 1 if aa == -1: print('-1') break continue 문제풀이 흔히 볼 수 있는 최소 개수 문제이다. 가장 적은 봉지 개수를 구하는 것은 어렵지 않으나, 이 문제의 관건은 남은 설탕이 0으로 떨어지지 않을 경우 -1을 출력하는 부분에 있을 것이다. 나는 5kg으로..
https://www.acmicpc.net/problem/1895 1895번: 필터 숫자 9개가 오름차순이나 내림차순으로 정렬되어 있을 때, 중앙값은 다섯 번째 숫자이다. 예를 들어, 1, 3, 4, 1, 2, 6, 8, 4, 10의 중앙값은 4이다. (1 ≤ 1 ≤ 2 ≤ 3 ≤ 4 ≤ 4 ≤ 6 ≤ 8 ≤ 10) 이미지 I는 www.acmicpc.net 문제분석 분류 완전탐색, 정렬 문제설명 원본 이미지에 3x3 필터를 적용하여 필터링된 이미지에서 값이 T보다 크거나 같은 픽셀의 수를 구하는 문제이다. 첫째 줄에 이미지의 크기 R(행), C(열)가 주어진다. 그 다음 각 R개의 줄에 C개의 픽셀 값이 주어지고, 마지막 줄에 T값이 주어진다. 필터링된 이미지의 각 픽셀 값 중에서 T보다 크거나 같은 것..
https://www.acmicpc.net/problem/13985 13985번: Equality Print, on a single line, YES if the sum is correct; otherwise, print NO. www.acmicpc.net 문제해석 연산식을 입력했을 때, 그 값이 올바른지 판단하여 Yes/No를 출력해주는 문제이다. 코드 #include #include using namespace std; int main() { char a[10]; cin.getline(a,10); if ((a[0] - '0') + (a[4] - '0') == (a[8] - '0')) cout
문제 https://www.acmicpc.net/problem/11931 11931번: 수 정렬하기 4 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 N개의 수가 주어졌을 때, 이를 내림차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 내림차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제..
15666번: N과 M (12) (acmicpc.net) 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 해석 N개의 자연수 중 M개를 고른 수열을 모두 구하는 문제이다. 조건으로는 같은 수를 여러 번 골라도 되고 비내림차순이어야 한다. 그리고 순열은 사전 순으로 출력해야 한다. 코드 문제 풀이 main부분을 보면 s에 N개의 수를 저장해 주었고 s를 오름차순으로 정렬해주었다. 이는 사전 순으로 출력해주기 위함이다. 그리고 arr와 result를 각각 list와 dictionary로 선언해주었는데 ar..
문제 링크 https://www.acmicpc.net/problem/2010 2010번: 플러그 첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 이어서 둘째 줄부터 N개의 줄에 걸쳐 각 멀티탭이 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 자연수가 주어진다. 이 자연 www.acmicpc.net 문제 선영이의 집에는 콘센트를 꽂을 수 있는 플러그가 하나밖에 없다. 선영이는 많은 컴퓨터를 가지고 있는데, 컴퓨터의 전원 문제는 어떻게 해결하는 것일까? 하나의 플러그가 있고, N개의 멀티탭이 있다. 각 멀티탭은 몇 개의 플러그로 이루어져 있다고 한다. 최대 몇 대의 컴퓨터를 전원에 연결할 수 있을까? 입력 첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,0..
https://www.acmicpc.net/problem/14652 14652번: 나는 행복합니다~ 첫째 줄에 관중석의 크기를 나타내는 N, M과 잃어버린 관중석 번호를 나타내는 K가 주어진다. (1 ≤ N, M ≤ 30,000, 0 ≤ K ≤ N×M-1) www.acmicpc.net 소스 코드 문제 풀이 seat이라는 빈 리스트를 만들고, for반복문을 이용하여 N행 M열 리스트를 채웠다. 이 후, K번 자리의 좌표를 찾기 위해 while문과 if문을 이용하였다. 0행부터 K번이 있는 행을 찾고, 그 행에서 K번이 있는 열을 찾아 좌표를 출력하였다.
https://www.acmicpc.net/problem/1107 문제 분석 코드 n = int(input()) brokenNum = int(input()) brokenList = list() if (brokenNum == 0): answerList = [abs(n - 100), len(str(n))] print(min(answerList)) elif (brokenNum == 10): brokenList = list(input().split()) print(abs(n - 100)) else: brokenList = list(input().split()) numList = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] numList = list(set(numLi..
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 코드 #include #include using namespace std; int main() { int n, sum = 0; cin >> n; while (n > 0) { if ((n % 5) % 3 == 0) { sum += n / 5; n %= 5; sum += n / 3; n %= 3; } else { if (n - 3
https://www.acmicpc.net/problem/1969 1969번: DNA DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오 www.acmicpc.net 문제분석 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). Hamming Distance란 길이가 같은 두 DNA가 있을 때, 각 위치의 뉴클레오티드 문자가 다른 것의 개수이다. Hamming Distance의 합이 가장 작은 DNA와 Hamming Distance의 합을 구하라..
1350번: 진짜 공간 (acmicpc.net) 1350번: 진짜 공간 첫째 줄에 파일의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 파일의 크기가 공백을 사이에 두고 하나씩 주어진다. 파일의 크기는 1,000,000,000보다 작거나 같은 음이 아닌 www.acmicpc.net 소스코드 문제풀이 이 문제도 굉장히 쉽게 풀었으나, 틀렸습니다 가 자꾸 나오길래 문제를 다시 꼼꼼히 읽어보니 수의 범위가 꽤 컸다. 한번에 풀지 못한 대부분의 문제들은 자료형의 문제인 경우가 많았기에 이 문제를 기회로 확실히 정리하기로 마음 먹었다. int는 4byte로 수의 범위는 -2,147,483,648 ~ 2,147,483,647 long은 메모리 크기는 8byte로 표현할 수 있는 범위는 -..
백준 6603번 로또 Intro Solution nC6 조합을 구하여 모두 출력하는 문제. 파이썬 내장 itertools 라이브러리의 combinations 메소드를 사용하여 조합을 만들고 모두 출력하여 간단하게 풀이할 수 있다. Code from itertools import combinations as cb def solve(): while True: k, *S = input().split() if k == '0': break [print(" ".join(s)) for s in cb(S, 6)] print() solve()
KauKoala
'Koala - 7기' 카테고리의 글 목록 (13 Page)