전체 글

문제 링크 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 import sys input = sys.stdin.readline n, k = map(int, input().split()) nums = list(map(int, input().split())) nums.sort() print(nums[k - 1])
문제 링크 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 문제 풀이 n = int(input()) array = list(map(int, input().split())) dp = [1]*n for i in range(n): for j in range(i): if array[i] > array[j]: dp[i] = max(dp[i], dp[j] + 1) prin..
문제 링크 https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 문제 문제 풀이 딕셔너리를 이용해 풀이를 하였다. key값에 숫자를 저장하고, value에 해당 숫자의 개수를 저장한다. 딕셔너리 를 정렬할 때, 1) 개수가 큰 것 2) 개수가 같을 경우, 숫자가 작은 것 이 기준이 되므로, value값에 대해 먼저 내림차순 정렬을 해주고, key값에 대해 오름차순 정렬을 해준다. import sys input = sys.stdin.readlin..
문제 링크 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 문제 풀이 문제만 봐서는 너무 간단해서 단순하게 접근했다가 메모리 초과가 나왔다. 처음 제출했던 코드는 import sys input = sys.stdin.readline n = int(input()) array = [] for i in range(n): array.append(int(input())) array.sort() for i in range(len(array)): print(array[i]..
문제 링크 https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 문제 문제 풀이 lambda를 통해 정렬 조건을 정할 때 -를 붙이면 내림차순 정렬이 된다. n = int(input()) array = [] for i in range(n): name, korean, english, math = map(str, input().split()) korean = int(korean) english = int(english) math =..
문제 링크 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제 문제 풀이 import sys input = sys.stdin.readline n = int(input()) array = [] for i in range(n): age, name = map(str, input().split()) age = int(age) array.append((age, name)) array.sort(key = lambda x : x[0])## (age, name)..
문제 링크 https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 문제 풀이 배열 내 어떠한 기준을 정해 정렬을 하기 위해서 lambda를 사용한다. 2차원 배열 내 두번째 원소를 첫 번째 기준으로, 첫 번째 원소를 두 번째 기준으로 하였다. import sys input = sys.stdin.readline n = int(input()) array = [] for i in range(n)..
문제 링크 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 문제 풀이 import sys input = sys.stdin.readline n = int(input()) array = [] for i in range(n): [x, y] = list(map(int, input().split())) array.append([x, y]) array.sort() for i in range(len..
YOONJELLY
JELLYJELLY