[백준] 10872번 - 팩토리얼 (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > [설명] 팩토리얼 함수란 n이 주어졌을 때, 1부터 n까지 모두 곱한 값을 구하는 함수다. 예를 들면, 5! 값은 5 * 4 * 3 * 2 * 1 인 120이다. [문제] 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 🎨 풀이 💡 전체 코드 def factorial(num): if num > 1: return num * factorial(num-1) else : return 1 n = int(input()) print(factorial(n))..
[백준] 1026번 - 보물 (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 🎨 풀이 💡 전체 코드 import sys n = int(input()) A = ..
[백준] 11047번 - 동전 0 (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 🎨 풀이 💡 전체 코드 import sys n, k = map(int, sys.stdin.readline()...
[백준] 1003번 - 피보나치 함수 (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > 피보나치 수는 첫째항과 둘째항은 1이고, 그 이후부터는 바로 전 항 + 바로 전전 항 이 각각 오는 그런 수열이다. 1,1,2,3,5,8,13, ... 이런식으로 전개된다. 필요에 따라 0번째 항을 0이라고 부르기도 한다. 편하게 계산할 때! 출처 | https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98 이런 피보나치 수를 구하면 되는 문제다. 정확하게는 n이 주어지면, 그 0과 1을 각각 구하면 된다. (여기서 0은 fibo(0)을 더해준 횟수와 같고, 1은 fibo(1)을 더해준 횟수와 같다) [예시] n = 4 일 때, fibo(4) = fibo(3) + fibo(2) fibo(2) + fibo(1..
[백준] 11399번 - ATM (파이썬)
·
알고리즘 공부/백준
📝 문제 > 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [예시 1] [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 총 3+1+4 = ..
[백준] 2839번 - 설탕 배달 (파이썬)
·
알고리즘 공부/백준
📝 문제 > 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서..
[DAY 120 - 코드업 CodeUp] 6095 - 바둑판에 흰 돌 놓기 (파이썬)
·
알고리즘 공부/코드업
📝 문제 요약 > 바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때, n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자. ( = 흰 돌 개수와 좌표를 알려줄테니, 그 바둑판을 그려봐라! . 0이 검은 돌, 1이 흰 돌) https://codeup.kr/problem.php?id=6095 [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 🎨 풀이 💡 전체 코드 import sys d = [[0 for j in range(19)] for i in range(19)] n ..
[DAY 119 - 코드업 CodeUp] 6094 - 이상한 출석 번호 부르기3 (파이썬)
·
알고리즘 공부/코드업
📝 문제 요약 > 정보 선생님은 수업을 시작하기 전에 이상한 출석을 부른다. 출석 번호를 n번 무작위로 불렀을 때, 가장 빠른 번호를 출력해 보자. https://codeup.kr/problem.php?id=6094 [기초-리스트] 이상한 출석 번호 부르기3(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 🎨 풀이 💡 전체 코드 import sys T = int(input()) input = list(map(int,sys.stdin.readline().split())) min = input[0] for i in range(1..