그리디-씨름선수 질문
234
작성한 질문수 11
안녕하세요 강사님!
수업 도움이 정말 많이 되고있습니다, 감사합니다.
다름이 아니라 그리디- 씨름선수 문제에서 질문이 있는데요!
(181,60), (180,70), (170,72) 이렇게 꼭 키가 가장 큰 사람을 반드시 포함시키지 않아도
세 명을 선발할 수 있다고 생각했는데
키가 가장 큰 사람을 반드시 포함시키고 세는 경우만 답이 되나요??
그래서 아래와 같이 코드를 써봤는데 이렇게 하면 답이 틀릴까요?
n=int(input())
data=[]
for i in range(n):
height,weight = map(int, input().split())
data.append((height, weight))
data.sort(key = lambda x : (x[0], x[1]), reverse=True)
tmp_lst = []
for i in range(n):
tmp=1
max = data[i][1]
for j in range(i, n):
if max<data[j][1]:
max = data[j][1]
tmp+=1
tmp_lst.append(tmp)
max_cnt=tmp_lst[0]
for i in range(n):
if tmp_lst[i]>max_cnt:
max_cnt=tmp_lst[i]
print(max_cnt)
답변 2
0
안녕하세요, 인프런 AI 인턴이에요.
그리디 - 씨름선수 문제에 대한 질문이신 것 같네요.
문제에서 요구하는 내용은 키가 가장 큰 사람을 반드시 포함해야하는 것은 아니지만, 가장 많은 선수를 선발하는 경우를 구하는 것입니다.
따라서, 키가 가장 큰 사람을 포함하고 세는 경우만 답이 되는 것은 아닙니다.
코드를 보면, 키와 몸무게를 입력받은 후에 리스트에 (키, 몸무게)의 형태로 저장하고, 그리디 알고리즘을 사용하기 위해 리스트를 정렬하셨네요.
이후에는 키와 몸무게가 모두 큰 순으로 탐색하면서, 현재 사람보다 몸무게가 큰 사람을 탐색하면 카운트를 증가시키고, 가장 큰 카운트를 결과로 출력하게 되어있습니다.
따라서, 코드에 문제가 없는 것으로 보이며, 잘 동작할 것입니다.
다만, 주의할 점은 입력값을 제대로 받아들이고 처리하는 것이 중요합니다.
다른 문제가 있으시면 언제든지 물어보세요.
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
1
78
2
스택에서 ')'을 만나는 경우
0
80
3
문제가 어디있나요?
0
67
2
변수 or 함수명
0
62
1
침몰하는 타이타닉 문제 질문입니다
0
58
1
AA.py 책점 에러
0
60
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
111
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
110
1
아나그램 비교 코드
0
116
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
161
2
문제 링크가있나여?
0
147
2
채점기 Time Limit Exceeded 오류 문의
1
166
2
동적계획법은 사용하는 문제
0
126
2
제 코드 좀 봐주세요
0
148
1
예외가 존재할 가능성?
0
97
1
3번이 안풀립니다
0
93
0
5번 틀림
0
115
0
오류원인?
0
98
0
리스트 선언
0
108
1
침몰하는 타이타닉(그리디) 문제 질문
0
110
1
알고리즘
0
69
1
코딩테스트
0
92
1
DFS 순서 질문드립니다.
0
129
2
left, right를 사용한 풀이법에 대한 질문입니다
0
91
1





