본문 바로가기

전체 글50

[Swift/스위프트] 백준 1000번: A+B https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net Swift 문법에 익숙해 지기 위해 Swift로 알고리즘 문제를 풀며 친해지기로 마음먹었다. 소스코드 import Foundation let input = readLine()! let nums = input.components(separatedBy: " ") print(Int(nums[0])! + Int(nums[1])!) 풀이 readLine() 함수로 문자열을 입력받고 components를 이용하여 입력받은 input을 공백을 기준으로 nums 배열을 생성하였다. 출력은 문자열로 입력받았기에 정수로 변환하고 덧셈.. 2022. 11. 24.
[파이썬/Python]백준 2839번: 설탕 배달 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 소스코드 n = int(input()) count = 0 while n > 0: if (n % 5 ==0): count += n//5 break elif (n < 3): count = -1 break n -= 3 count += 1 print(count) 풀이 이 문제는 그리디 알고리즘 문제로 먼저 입력받은 n이 5의 배수인지 확인 후 3보다 작지 않는다면 3을 뺀 후 다시 5의 배수인지 확인하는 반복문을 .. 2022. 11. 18.
[파이썬/Python] 백준 11047번: 동전0 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 소스코드 n, k = map(int, input().split()) value = [] count = 0 for i in range(n): value.append(int(input())) value.reverse() for j in range(n): while (True): if (value[j] > k): break k -= val.. 2022. 11. 18.
[파이썬/Python] 백준 11399번: ATM 문제는 다음과 같다 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 소스코드 n = int(input()) time = list(map(int, input().split())) time.sort() result = 0 sum = 0 for i in range (n): result = (time[i]+result) sum += result print(sum) 풀이 사람의 수를 먼저 입력받고 걸리는 시간은 list를 이용해 저장하였다. 필요한 시간의 합의 최솟값을 출력해야 하므.. 2022. 11. 16.
728x90