본문 바로가기
728x90
반응형

Dev/CodeBank4

백준 #10989, 수 정렬하기3 <Python> 문제 1) N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 2) 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 3) 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 풀이 부끄럽지만, 정말 애먹었던 문제였다. 이 문제 자체의 난이도보단 사실 이런 제한 조건이 참 어렵게 했다. ​ 대부분 시간, 메모리가 제한되는 경우의 코드는 미리 배열 or 리스트를 생성해놓고 for 문 한 번에 index를 증가시키는 것을 이용해서 해당 값을 한 번에 업데이트 해줘야지 시간 제한에 걸리지 않고 끝나는 것 같다. ​ 이번에 이 문제 풀면서 알게 된.. 2023. 3. 29.
백준 #2108, 통계학 <Python> 알고리즘 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. ​ 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. ​ 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. ​ 첫째 줄에는 산술평균을 출력한다. 소수점 이하 .. 2023. 3. 28.
백준 #11650, 좌표 정렬하기 <Python> 알고리즘 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 풀이 정렬을 하면 되는데 정렬이 2차원 리스트의 조건으로 정렬을 하면 되는 구조이다. SQL문으로 보면 Order By Column1 ASC, Column 2 DESC 이런식으로 말이다. ​ 찾아보니 파이썬에서 지원하는 sort에서의 lambda를 이용해서 첫번째 리스트의 원소를 기준으로 배열하는데 첫번째.. 2023. 3. 28.
백준 #1427, 소트인사이드 <Python> 알고리즘 문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 풀이 문자열을 하나씩 list에 넣어서 역으로 sort해주면 되는 간단한 문제. 코드 num = input() list = [] for i in range(0, len(num)): list.append(num[i]) list.sort(reverse=True) for i in list: print(i, end='') 2023. 3. 27.
728x90
반응형