inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Từ A đến Z về kỳ thi lập trình thi đấu được chia sẻ bởi người từng tham dự giải thế giới (với Python)

BOJ23246

Đã giải quyết

226

zzangd94694

7 câu hỏi đã được viết

1

 

N = int(input())

words = [list(map(int, input().split())) for _ in range(N)]

medal = sorted(words, key= lambda x : (x[1]*x[2]*x[3], x[1]+x[2]+x[3]))

for i in range(0,3):

print(medal[i][0], end = ' ')

 

다음은 제가 짠 코드입니다.

 

n = int(input())

infos = [list(map(int, input().split())) for _ in range(n)]

infos = sorted(infos, key=lambda x : (x[1] x[2] x[3], x[1] + x[2] + x[3], x[0]))

for b, p, q, r in infos[:3]:

print(b, end=' ')

 

이건 알리님 코드인데요,

마지막 for문 빼고는 똑같은데, 이상하게 제거는 틀렸다고 뜨네요.

시간 복잡도 때문일까요?? 이유 알려주시면 감사하겠습니다

python 코딩-테스트 알고리즘

Câu trả lời 2

1

ally

안녕하세요. 김민섭님!

 

이미 파악해서 말씀하신대로,

문제의 마지막 조건인 '곱한 점수와 합한 점수가 모두 같으면 등번호가 낮은 선수가 이긴다는 조건'을 누락해서 틀리신 것 같습니다.

 

또 궁금하신 점 있으시면 언제든 질문 부탁드립니다.

감사합니다. :)

1

zzangd94694

아 해결했습니다 람다 함수에 마지막 조건을 넣어주지 않았네요

Iterable 관련 설명 중 의문점

1

73

1

DP 알고리즘 index 0 이유?

0

80

2

백준에서 queue.PriorityQueue() 사용 시 런타임에러가 납니다.

0

78

2

(시간 초과) BOJ 1342 관련하여 질문이 있습니다

1

80

2

BFS, DFS

0

105

2

이중연결리스트에 관한 수업 내용도 있을까요?

0

98

1

영상에서 설명이 잘못됐고 자막이 맞는 내용이라고 자막에 표기

0

113

2

최대값 int(1e6, 1e7, 1e8) 기준

0

273

2

섹션 3 BOJ 1342 //= 연산자 관련

0

88

3

라이브러리 사용

0

118

2

2번 구현 방법 질문 있습니다.

0

167

1

브루트 포스 풀이

0

144

2

다익스트라 음수 간선

0

160

1

종료 조건

0

118

2

BOJ 1342 메모리초과 관련

0

123

2

진짜 엄청나네요. 이 가격에 새로운 컨텐츠 추가라니

0

215

1

섹션3 브루트포스 알고리즘 1342 풀이1 질문

0

152

2

boj 3020

0

127

1

강의 내용 중 백트래킹 존재 여부

0

156

1

제가 공부하는 방법이 괜찮은지 궁금합니다

1

261

2

DP 11053관련 질문있습니다.

0

122

1

17609 투포인터 문제를 재귀로 풀 경우가 궁금합니다!

0

138

3

3020번 풀이 코드관련 질문있어요

0

172

2

재귀 관련 문제 관찰할 때 질문

0

198

1