본문 바로가기

Python257

[백준 2309번] 일곱 난쟁이 from itertools import combinations array = [0]*9 for i in range(9): array[i] = int(input()) remain = sum(array)-100 com_list = list(combinations(array,2)) for i in com_list: if sum(i) == remain: array.remove(i[0]) array.remove(i[1]) break array.sort() for i in array: print(i) 이번 문제는 정렬보다는 9명의 난쟁이 중 키의 합이 100이 되도록 만드는 조건을 구현하는 것이 관건인 문제였다. 문제에서 일곱 난쟁이를 찾을 수 없는 경우는 없다는 조건이 주어졌기 때문에, 무조건 난쟁이 7명이상은 .. 2023. 2. 22.
[Python] 순열과 조합 라이브러리 itertools 0) itertools 라이브러리 itertools에서 제공하는 클래스는 매우 다양하지만, 코딩테스트에서 가장 유용하게 사용할 수 있는 클래스는 permutations(순열)과 combinations(조합)이다. - permutations(순열)은 리스트와 같은 iterable 객체에서 r개의 데이터를 뽑아 일렬로 나열하는 모든 경우를 계산해준다. - combinations(조합)은 리스트와 같은 iterable 객체에서 r개의 데이터를 뽑아 순서를 고려하지 않고 나열하는 모든 경우를 계산한다. ⇒ 두 개 모두 클래스이므로 객체 초기화 이후에는 '리스트 자료형'으로 변환하여 사용한다 ! 1. 순열(Permutations) from itertools import permutations print(list(.. 2023. 2. 22.
[백준 11651번] 좌표 정렬하기 2 import sys input = sys.stdin.readline n = int(input()) array = [] for i in range(n): x, y = map(int,input().split()) array.append((x,y)) array.sort(key=lambda x:x[0]) array.sort(key=lambda x:x[1]) for i in array: print(f"{i[0]} {i[1]}") 2023. 2. 21.
[백준 10814번] 나이순 정렬 import sys input = sys.stdin.readline n = int(input()) array = [] for i in range(n): age, name = list(input().split()) array.append((int(age),name,i)) array.sort(key=lambda x:x[2]) array.sort(key=lambda x:x[0]) for i in range(n): print(f"{array[i][0]} {array[i][1]}") 2023. 2. 21.
[백준 11650번] 좌표 정렬하기 n = int(input()) array = [] for i in range(n): x, y = map(int,input().split()) array.append((x,y)) array.sort(key=lambda x:x[1]) array.sort(key=lambda x:x[0]) for i in array: print(f"{i[0]} {i[1]}") 2023. 2. 21.
[백준 1427번] 소트인사이드 n = list(input()) new_list = list(map(int,n)) new_list.sort(reverse=True) for i in new_list: print(i,end="") 2023. 2. 21.