백준파이썬

알고리즘/백준알고리즘

[백준] 1655번 가운데를 말해요

문제 설명 수빈이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 수빈이가 정수를 하나씩 외칠때마다 동생은 지금까지 수빈이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 수빈이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다. 예를 들어 수빈이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 수빈이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오. 제한 사항 -첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정..

알고리즘/백준알고리즘

[백준] 7453번 합이 0인 네 정수

문제 설명 정수로 이루어진 크기가 같은 배열 A, B, C, D가 있다. A[a], B[b], C[c], D[d]의 합이 0인 (a, b, c, d) 쌍의 개수를 구하는 프로그램을 작성하시오. 제한 사항 -첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다. ​-합이 0이 되는 쌍의 개수를 출력한다. ​ 입출력 예 input output 6 -45 22 42 -16 -41 -27 56 30 -36 53 -37 77 -36 30 -75 -46 26 -38 -10 62 -32 -54 -6 45 5 ​ 접근법 네 리스트의 조합을 한번에 다루면 for문이 4개나 ..

카테고리 없음

[백준] 2752번 세수정렬

​ 문제 설명 동규는 세수를 하다가 정렬이 하고싶어졌다. 숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다. 숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오. 제한 사항 -숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. -제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다. ​ 입출력 예 input output 3 1 2 1 2 3 접근법 간단한 문제입니다. 세 정수를 입력받고, 정렬시킨뒤 출력만 해주시면 됩니다. ​ 나의 코드 import sys num_list = list(map(int, sys.stdin.readline().split())) num_..

알고리즘/백준알고리즘

[백준] 10989번 수 정렬하기3

문제 설명 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 제한 사항 -첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. -첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. ​ 입출력 예 input output 10 5 2 3 1 4 2 3 5 1 7 1 1 2 2 3 3 4 5 5 7 접근법 이번 문제는 수 정렬하기2 보다 메모리를 적게 사용해야합니다. 기존의 수 정렬하기 1,2 같은 경우에는 모든 수를 다 저장했었는데요, 최대 천만개의 수를 리스트에 다 저장해 버린다면, 8MB를 훌쩍 넘을 것 입니다. 여기서 계수 정렬의 원리 ..

컴공누나
'백준파이썬' 태그의 글 목록