row,cost = map(int,input().split())
arr = []
#받아온 값들을 어레이에 넣어준다
#row는 몇번 받아 올건지, cost은 목표금액
for i in range(int(row)):
arr.append(int(input()))
count= 0
for i in range(len(arr)-1,-1,-1): #높은 가격부터
if arr[i]>cost :
continue
else :
mok = cost//arr[i] #몫
cost = cost- mok*arr[i]
count += mok
print(count)
import sys
num = int(sys.stdin.readline())
arr = []
for i in range(num):
start, end = map(int,sys.stdin.readline().split())
arr.append((start,end))
#빨리 끝나는 시간대의 회의 먼저, 일찍 시작하는 시간대 먼저
sortedArr = sorted(arr, key= lambda x :(x[1],x[0]))
count = 0 # 회의 개수
time = 0 #지금 가능한 시작시간
for meeting in sortedArr:
if meeting[0]>= time :
time = meeting[1] #끝나는 시간을 시작시간으로
count +=1
print(count)
import sys
people = int(sys.stdin.readline())
minutes = []
minutes = list(map(int,sys.stdin.readline().split()))
# 인출이 적게 걸리는 순서대로 sort
minutes.sort()
#총 걸리는 시간
total =0
#앞 사람이 걸린 시간
pre = 0
for i in range(people):
# 앞사람이 걸린 시간+내 인출시간을 총합에 더함
total += pre + minutes[i]
# 앞사람 걸린 시간을 내걸로 업뎃
pre +=minutes[i]
print(total)
import sys
import re
question = sys.stdin.readline().rstrip()
#+-를 기준으로 나눠줌 숫자만 들어간 리스트
#56-85+2651-525 이면 [56,85,2651,525]
numbers = list(map(int,re.split('[+|-]',question)))
#+-만 들어간 리스트,,,앞뒤에 공백 들어가길래 빼줌
#56-85+2651-525 이면 [-,+,-]
plusminus = re.split('[0-9]+',question)
del plusminus[0]
del plusminus[len(plusminus)-1]
#우선 첫번째는 무조건 더하기니까
answer = numbers[0]
#-를 만나면 true
flag = False
#두번째 수부터 반복문 돌리며 더하기 빼기를 판단
for i in range(1, len(numbers)):
# 앞에 -가 있으면 빼기, 그리고 pre를 -로 업뎃
if plusminus[i-1]=='-' :
answer -=numbers[i]
flag = True
# 앞에 + 가 붙어 있는 경우
else:
#flag 가 flase 즉'-'인경우 -(58+3) 이 가능하므로 빼줌
if flag:
answer -=numbers[i]
else:
answer +=numbers[i]
print(answer)
이문제는 다른 사람들의 풀이를 찾아보니 굉장히 짧았다.
arr = input().split('-')
s = 0
for i in arr[0].split('+'):
s += int(i)
for i in arr[1:]:
for j in i.split('+'):
s -= int(j)
print(s)