2875: 대회 or 인턴
백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.)
백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.
백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.
여러분은 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다.
N+M-K명만 대회에 참여할 수 있다!
6 10 3
n, m, k = map(int, input().split())
for i in range(k):
if n//2 >= m: #여학생이 많으면 여학생이 인턴쉽을
n -= 1
else: #남학생이 많으면 남학생이 인턴쉽을 참여
m -= 1
print(min(n//2, m))
3460: 이진수
양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오.
# 틀린 코드
T = int(input())
count = 0
for _ in range(T):
if T%2 == 1:
print(count, end = " ")
T = T//2
count += 1
#맞는 코드
for _ in range(int(input())):
T = int(input())
count = 0
while T > 0:
if T%2 == 1:
print(count, end = " ")
T = T//2
count += 1
#bin함수 사용
T = int(input())
for _ in range(T):
n = bin(int(input()))[2:]
for i in range(len(n)):
if n[-i-1] == '1': #역순 확인
print(i, end = "")
1541: 잃어버린 괄호
세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.
그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.
괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오.
num = input().split('-')
ans = 0
for _ in num[0].split('+'): # - 앞의 값
ans += int(_)
for _ in num[1:]:
for j in _.split('+'): # - 뒤의 값
ans -= int(j)
print(ans)
2839번: 설탕배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.
상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.
상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.
n = int(input())
result = 0
while n >= 0:
if n % 5 == 0: #5로 나눠 떨어지는 경우
result = result + (n//5)
print(result)
break
n -= 3
result += 1 #3개씩 빠지면 봉지가 1개싹 증가
else:
print(-1)
!다른 풀이!
sugar= int(input())
fives = sugar//5
threes = -1
while fives >=0:
if (sugar - fives*5)%3 ==0:
threes = (sugar - fives*5)//3
print (f'{fives + threes}')
break
else:
fives -=1
if threes == -1:
print(f'{threes}')
'Study > Data Science' 카테고리의 다른 글
구현: 시뮬레이션과 완전 탐색 (0) | 2022.07.24 |
---|---|
그리디 알고리즘(Greedy algorithm) (0) | 2022.07.23 |