정렬 5

[n1822] 차집합 in python

set() 말고 list로 해서 시간초과가 났었지만 해결! 실행시간은 약 1000ms a,b=map(int,input().split()) aArray=set(list(map(int,input().split()))) bArray=set(list(map(int,input().split()))) temp=set() for i in aArray: if i not in bArray: temp.add(i) print(len(temp)) print(*sorted(temp)) - 연산자를 이용하면 차집합 결과를 쉽게 도출해낼 수 있었다...! 띠용 a,b=map(int,input().split()) aArray=set(list(map(int,input().split()))) bArray=set(list(map(int,..

[n1755] 숫자 놀이 in python

sorted, lambda, dictionary를 이용해서 풀 수 있었던 정렬 및 문자열 문제! 리스트에 숫자와 문자를 같이 넣어주는 생각을 바로 떠올리지 못했음! m, n = map(int, input().split()) dic = {'1': 'one', '2': 'two', '3': 'three', '4': 'four', '5': 'five', '6': 'six', '7': 'seven', '8': 'eight', '9': 'nine', '0': 'zero'} temp = [] answer = [] for i in range(m, n + 1): answer.append([i, ''.join(dic[k] for k in str(i))]) answer.sort(key=lambda x:x[1]) for i..

[n2628] 종이 자르기 in python

뚜렷한 방법이 떠오르지 않아서 구하는 풀이를 직접 적어보고 찾아내었다. 위 예제로 생각해보았다. 행 = 8, 열 = 10 1번 상자 : 2 X 4 2번 상자 : 2 X (10-6) 3번 상자 : (3-2) X 4 4번 상자 : (3-2) X (10-6) 5번 상자 : (8-3) X 4 6번 상자 : (8-3) X (10-4) 행과 열을 각각 리스트로 받으면 행 = [0,2,3,8] 열 = [0,4,10] 행[i+1]-행[i] || 열[j+1]-열[j] 위 식을 이용하면 방금 풀었던 풀이대로 프로그램 구현이 가능해진다. sort() 과정은 필수 col, row = map(int, input().split()) rows = [0, row] # 행 cols = [0, col] # 열 for _ in range..

[n15970] 화살표 그리기 in python

정렬을 이용하여 풀었던 문제 min함수 내에서 for문을 또 따로 돌려서 최단 거리를 찾아내고 최단 거리가 여러개일 경우엔 아무거나 선택된다. n = int(input()) array = [list(map(int, input().split())) for _ in range(n)] # 정렬, min(거리) array = sorted(array, key=lambda x: x[1]) answer = 0 for i in range(len(array)): answer += min([abs(array[x][0] - array[i][0]) for x in range(n) if x != i and array[x][1] == array[i][1]]) print(answer)

카테고리 없음 2021.10.30

[n2535] 아시아 정보올림피아드 in python

보자마자 lambda 함수로 정렬해놓고 나라 번호 저장하는 배열 하나 만들면 우선순위도 해결되겠다고 생각하며 풀기 시작했다. lambda를 매번 까먹는 1인.. array=sorted(array,key=lambda x:x[2], reverse=True) [a,b,c] -> c 기준으로 내림차순 정렬 만약 answer의 길이가 3개가 되면 이미 금은동이 정해진 거니까 반복문에서 빠져나온다. 시간 : 84ms..? 거의 맨 끝이다.. 고수님들의 코드를 한 번 탐색하러 가봤다! n = int(input()) # lambda로 정렬 array = [list(map(int, input().split())) for _ in range(n)] array = sorted(array, key=lambda x: x[2],..