PYTHON 58

[BOJ] 10814번 : 나이순 정렬

🔒 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다. 🖨 출력 첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명씩 나이와 이름을 공백으로 구분해 출력..

[BOJ] 1181번 : 단어 정렬

🔒 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 ⌨ 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 🖨 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. 📚 예제 Ex1) 13 but i wont hesitate no more no more it cannot wait im yours i im it no but more wait wont yours cannot hesitate..

[BOJ] 11651번 : 좌표 정렬하기2

h2>🔒 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 🖨 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 📚 예제 Ex1) 5 0 4 1 2 1 -1 2 2 3 3 1 -1 1 2 2 2 3 3 0 4 📌 풀이 파이썬 sorted 함수에서 정렬할때 고려할 것의 우선순위를 정할 수 있어서 그것을 사용해서 문제를 풀었다. key 인..

[BOJ] 11650번 : 좌표 정렬하기

🔒 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 🖨 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 📚 예제 Ex1) 5 3 4 1 1 1 -1 2 2 3 3 1 -1 1 1 2 2 3 3 3 4 📌 풀이 파이썬 2차원 배열 입력 받는게 헷갈린다 리스트 선언 리스트에 append 이용해서 리스트 또 받음 => 한줄에 2개씩 값을..

[BOJ] 2108번 : 통계학

🔒 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. 🖨 출력 첫째 줄에는 산술평균을 출력한다. 소..

[BOJ] 10989번 : 수 정렬하기3

🔒 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 🖨 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 📚 예제 Ex1) 10 5 2 3 1 4 2 3 5 1 7 1 1 2 2 3 3 4 5 5 7 📌 풀이 처음에 sort함수 사용했는데 메모리 초과가 떴다. 그래서 구글링해보니 sort함수는 메모리 사용을 많이 한다고 한다. 그래서 계수 정렬을 이용했다. 계수 정렬은 주어지는 수의 범위가 작을때 사용하면 좋은 정렬로, 이 문제에서 자연수의 범위가 10000이하 이..

[BOJ] 2751번 : 수 정렬하기 (★)

🔒 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 🖨 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 📚 예제 Ex1) 5 5 4 3 2 1 1 2 3 4 5 📌 풀이 bubble sort 사용=> 시간 초과 🔨 실패한 코드 int sort(int* ary, int N) { int t; for (int i = 0; i ary..

[BOJ] 11022번 : A+B-8

🔒 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 🖨 출력 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. 📚 예제 Ex) 5 1 1 2 3 3 4 9 8 5 2 Case #1: 1 + 1 = 2 Case #2: 2 + 3 = 5 Case #3: 3 + 4 = 7 Case #4: 9 + 8 = 17 Case #5: 5 + 2 = 7 🔑 c언어 코드 #include int main() { int T, A, B; sca..