CS/알고리즘23 [이코테] 정렬 - 국영수 1. 내 풀이 n = int(input()) data = [] for i in range(n): data.append((input().split())) data = sorted(data, key=lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0])) for i in range(n): print(data[i][0], end='\n') 다시보니 input().split()를 다시 한 번 ()로 묶어줄 필요가 없었는데 저렇게 했네 for i in range에서도 i를 쓰지 않으니까 _로 처리 가능했기도 하고 굳이 end='\n'이 아니더라도 그냥 했어도 됐는데,,, end=' ' 이거 의식하다가 저렇게 쓴듯 1-1. 풀이 도중 생각 1) sort(key=lambda)쓰면.. 2023. 2. 11. [이코테] 정렬 - 두 배열의 원소 교체 음 풀긴 풀었는데 맞은 풀이일까? 답은 맞는 것 같은데... 처음 array_a와 array_b의 리스트를 만들 때 원소를 int로 받는 법을 까먹었는지 몰라서그런지 좀 이상하게 짰음 1. 내 풀이 n, k = map(int, input().split()) array_a = sorted(input().split()) array_b = sorted(input().split(), reverse=True) for i in range(k): if array_a[i] < array_b[i]: array_a[i], array_b[i] = array_b[i], array_a[i] else: continue result = 0 for j in range(n): result += int(array_a[j]) print(.. 2023. 2. 10. [이코테] 정렬 - 성적이 낮은 순서로 학생 출력하기 아 뭔가 쉬운 것 같은데 못 풀어서 속상했다 1. 내 풀이 우선 아래 풀이는 틀렸다. 점수가 중복되는 인원이 존재할 경우 그 인원을 중복해서 출력하기 때문 n = int(input()) data = {} for i in range(n): tmp = input().split() data[tmp[0]] = int(tmp[1]) score_chart = sorted(list(data.values())) for i in range(len(score_chart)): val = score_chart[i] for k, v in data.items(): if v == val: print(k, end= ' ') 1-1. 풀이 도중 생각 1) sorted에 key를 사용하는 방법을 찾아보려 했으나,,, 사용 방법을 몰라 .. 2023. 2. 9. [이코테] 정렬 - 위에서 아래로 1. 내 풀이 문제가 워낙 쉬워서 그런지 바로 맞췄다.... 는 출력 조건 못지킴 리스트 형태가 아니라 원소들을 직접 출력했어야 했는데 못했다 n = int(input()) data = [] for i in range(n): data.append(int(input())) print(sorted(data, reverse=True)) 1-1. 풀이 도중 생각 1) 음??? 너무 쉬운데?? 심지어 문제 조건도 널널해서 (n 2023. 2. 8. 이전 1 2 3 4 5 6 다음