1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# 모험가 길드
n = 5
guild = [2,3,1,2,2]
guild.sort()
result = 0
count = 0
for i in guild:
count +=1
if count>= i:
result +=1
count = 0
print(result)
|
cs |
1
2
3
4
5
6
7
8
9
10
11
|
# 곱하기 혹은 더하기
s = '02984'
sum = int(s[0])
for i in range(1,len(s)):
num = int(s[i])
if num <=1 or sum <= 1:
sum +=num
else :
sum *=num
print(sum)
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# 문자열 뒤집기
data = '0001100'
count0 = 0
count1 = 0
if data[0] == '1':
count0 +=1
else:
count1 +=1
for i in range(len(data)-1):
if data[i] != data[i+1]:
if data[i+1] == '1':
count0 +=1
else:
count1 +=1
# print(min(count0,count1))
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 만들 수 없는 금액
n = 5
data = [1,1,2,3,9]
data.sort()
target = 1
for x in data:
if target < x:
break
target +=x
print(target)
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# 볼링공 고르기
n = 8
m = 5
weight = [1,5,4,3,2,4,5,2]
count = 0
for i in range(len(weight)):
for j in range(i+1,len(weight)):
if weight[i] != weight[j]:
count +=1
print(count)
# 답지
# 1부터 10까지의 무게를 담을 수 있는 리스트
array = [0] * 11
for x in weight:
# 각 무게에 해당하는 볼링공의 개수 카운트
array[x] +=1
result = 0
# 1부터 m 까지의 무게에 대하여 처리
for i in range(1, m+1):
n -= array[i] # 무게가 i 인 볼링공의 개수(A가 선택할 수 있는 개수) 제외
result += array[i] * n # B 가 선택하는 경우의 수와 곱하기
print(result)
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# 무지의 먹방 라이브
import heapq
def solution(food_times, k):
answer = 0
# 전체 음식을 먹는 시간보다 k가 크거나 같다면 -1
if sum(food_times) <= k:
return -1
# 시간이 작은 음식부터 빼야 하므로 우선순위 큐를 이용
q = []
for i in range(len(food_times)):
heapq.heappush(q, (food_times[i],i+1))
sum_value = 0 # 먹기위해 사용한 시간
previous = 0 # 직전에 다 먹은 음식 시간
length = len(food_times) # 남은 음식의 개수
# sum_value + (현재의 음식 시간 - 이전 음식 시간) * 현재 음식 개수와 k 비교
while sum_value + ((q[0][0] - previous) * length) <= k:
now = heapq.heappop(q)[0]
sum_value += (now-previous) * length
length -= 1 # 다 먹은 음식 제외
previous = now # 이전 음식 시간 재설정
# 남은 음식 중에서 몇 번 째 음식인지 확인하여 출력
answer = sorted(q, key = lambda x: x[1]) # 음식의 번호 기준으로 정렬
return answer[(k - sum_value) % length][1]
|
cs |
'알고리즘 문제 > 자료구조&알고리즘' 카테고리의 다른 글
DFS/BFS 문제 (0) | 2020.10.25 |
---|---|
구현 기출 (0) | 2020.10.24 |
기타알고리즘(리스트) (0) | 2020.10.24 |
기타 알고리즘(소수) (0) | 2020.10.24 |
그래프 이론 (0) | 2020.10.24 |