BAEKJOON (Python)/단계별 43

BAEKJOON_10814 "나이순 정렬" PYTHON

[백준] 10814번 Python 파이썬 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 이 문제는 sort 함수를 이용하여 문제를 해결하였다. 먼저 나이와 이름을 입력받아야 하는데 나이순으로 출력하고, 나이가 같다면 입력받은 순서대로 출력해야 하기 때문에 입력받은 순서도 리스트에 담아준다. 만들어진 리스트를 나이순, 입력받은 순서대로 sort 함수를 이용하여 정렬해준다. 출력은 for문을 이용하여 나이, 이름을 출력해 준다. import sys n..

BAEKJOON_1181 "단어 정렬" PYTHON

[백준] 1181번 Python 파이썬 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 먼저 for문을 사용하여 words 리스트에 단어들을 담아주는데 if문을 사용하여 중복이 되는 단어는 담지 않도록 해준다. 정렬을 하기 위해 sort() 함수를 사용하는데 key 함수와 lambda 함수를 이용하여 문자열의 길이를 우선 정렬한 후, 알파벳 순으로 정렬해준다. import sys n = int(sys.stdin.readline()) ..

BAEKJOON_11651 "좌표 정렬하기 2" PYTHON

[백준] 11651번 Python 파이썬 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 이 문제는 11650번 문제와 같은 방식으로 풀었다. 11650번은 x좌표를 우선으로 오름차순 정렬을 해야하고, 11651번은 y좌표를 우선으로 오름차순 정렬을 하는 문제이다. sort() 함수를 사용하면 x좌표 기준으로 오름차순 정렬이 되기 때문에 sort 함수를 사용하기 전에 x좌표와 y좌표의 자..

BAEKJOON_2108 "통계학" PYTHON

[백준] 2108번 Python 파이썬 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 이 문제는 최빈값을 구하는데 오랜 시간이 걸렸다,, 먼저 '산술평균'은 모두 더한 후 정수의 개수로 나누어서 구하고, '중앙값'은 입력받은 정수들을 리스트에 담아 sort() 함수로 오름차순 정렬을 한 후 리스트의 중앙값을 출력해 주었다. 문제에서 n은 홀수라고 가정하였기 때문에 입력받은 정수 리스트에서 정수의 합을 n으로 나눈 몫의 인덱스를 출력해 주면 된다. '최빈값'..

BAEKJOON_10989 "수 정렬하기 3" PYTHON

[백준] 10989번 Python 파이썬 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 처음엔 수 정렬하기 2와 동일한 코드로 제출했는데 'Counting Sort'라는 정렬 알고리즘을 사용하여 푸는 문제였다. 아래 유튜브를 보고 계수 정렬에 대해 공부한 후 코드를 작성하였다. https://www.youtube.com/watch?v=65Ui3RNibRA 아래의 코드로 실행했더니 메모리 초과가 떴다. import sys n = int(sys.stdin.readl..

BAEKJOON_2751 "수 정렬하기 2" PYTHON

[백준] 2751번 Python 파이썬 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net n = int(input()) num = [] for _ in range(n): a = int(input()) num.append(a) num.sort() for i in range(n): print(num[i]) Python3으로 제출하면 시간 초과가 떠서 PyPy3으로 제출하였더니 맞았다고 떴다. 혼자 공부하며 올리는 블로그입니다. 틀린 내용은..

BAEKJOON_25305 "커트라인" PYTHON

[백준] 25305번 Python 파이썬 https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net N과 k를 입력받은 후 점수들을 일렬로 입력받기 때문에 for문을 사용하지 않고 바로 리스트에 담아주었다. scores 리스트를 내림차순 정렬을 해준후 커트라인 상을 받는 사람의 인덱스는 k-1번째 이기 때문에 scores 리스트의 k-1 인덱스의 점수를 출력해준다. N, k = map(int, input().split()) scores = list(map(int, input().split())) scores.sort(reve..

BAEKJOON_2587 "대표값2" PYTHON

[백준] 2587번 Python 파이썬 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net numbers = [] for i in range(5): num = int(input()) numbers.append(num) numbers.sort() print(sum(numbers)//5) print(numbers[2]) # 5개의 수를 입력받으므로 중앙값은 3번째 자리 수 이다.

BAEKJOON_2750 "수 정렬하기" PYTHON

[백준] 2750번 Python 파이썬 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 리스트 M을 생성하고 for문을 이용하여 입력받은 수를 리스트에 넣어준다. sort() 함수를 이용하여 오름차순 정렬을 해준다. 오름차순 정렬된 리스트의 원소를 for문을 이용하여 하나씩 출력한다. n = int(input()) M = [] for _ in range(n): a = int(input()) M.append(a) M.sort() for i in rang..

BAEKJOON_24264 "알고리즘 수업 - 알고리즘의 수행 시간 3" PYTHON

[백준] 24264번 Python 파이썬 https://www.acmicpc.net/problem/24264 24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net MenOfPassion(A[], n) { sum

728x90