본문 바로가기
728x90

정렬34

[python] 백준 1431 시리얼 번호 https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어 www.acmicpc.net 문제 해결 정렬 순서를 문제에 맞게 정리해서 정렬하면 되는 문제 문제는 문자열 길이, 문자열 안의 숫자의 합, 문자열 사전 순 (모두 오름차순)으로 정렬하기를 원하니 그 순서대로 리스트를 정렬해서 문자열만 출력하면 된다. CODE n = int(input()) X = [] for _ in range(n): string = str(input().rstrip()) num = len(string).. 2023. 7. 11.
[python] 백준 17140 이차원 배열과 연산 https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 문제 해결 R연산 C연산 모두 같은 방식이다. 그래서 함수를 하나만 만들고자 한다. cal_R C연산을 사용해야할 때 (열의 개수가 행의 개수보다 많을 때)는 transform을 통해 행과 열을 바꾼다음 cal_R을 한 다음 다시 transform을 한다. 연산 방식은 행마다 원소와 원소의 개수를 묶은 다음 원소의 개수가 작은 것, 원소의 크기 순으로 오름차순으로 나열 한다. (단 0.. 2023. 6. 3.
[python] 백준 2109 순회강연 https://www.acmicpc.net/problem/2109 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net 문제 해결 전형적인 그리디 문제 제안을 큰 p 순서, 작은 d 순서로 정렬을 시킨 다음 큰 p부터 최대한 늦게 스케줄이 비어 있는 날에 제안을 수락하려고 한다. 그러면 촉박한 d를 가진 것도 많이 할 수 있기 때문에 큰 값을 주는 순서대로 마감일자부터 가까운 날까지 확인하면서 계획이 없는 날에 강연을 하기로 하고 코드를 짜면 끝! CODE n = int(inpu.. 2023. 5. 8.
[python] 백준 2831 댄스 파티 https://www.acmicpc.net/problem/2831 2831번: 댄스 파티 남자 N명과 여자 N명이 상근이가 주최한 댄스 파티에 왔다. 상근이는 모든 사람의 키를 알고있다. 각 남자는 모두 여자와 춤을 출 수 있고, 여자는 남자와 춤을 출 수 있다. 모든 사람은 많아야 한 www.acmicpc.net 문제 해결 음수-양수, 양수-음수만 짝이 가능하다. 음수쪽 절대값이 더 커야한다. sort()를 통해 수를 배열하고 음수인 부분이 더 클 경우에 짝을 만들어준다. 남자는 가장 작은수부터, 여자는 가장 큰 수부터 시작해서 짝을 맞춰본다.(절대값이 큰것끼리 짝을 맞춰야 더 많이 짝을 만들 수 있다.) CODE n = int(input()) M = list(map(int, input().split(.. 2023. 5. 6.
728x90