728x90

sort 7

[Python]백준 BaekJoon.AC 1966 : 프린터 큐(queue)

https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 점점 문제가 복잡해진다...! 헷갈려서 이번 문제부터 설계를 메모하기 시작했는데, 마침 설명하기도 난해한 문제라 그냥 메모로 대신한다. 글씨가 좀 흩날라가서.. (차마 패드도 교정해주지 못한 악필..) 다음부턴 더 열심히 써야겠다..!! 그리고 이젠 설계하는 습관을 더 들여야겠다. 코드가 복잡한 것 같아 시간이 오버될 줄 알았는데 통과됐다. 조건 범위가 그리 넓지 않아서 그런 듯 하다.. 그래도 나름..

[Python]BaekJoon.AC 2022.01.27

[Python]백준 BaekJoon.AC 11651 : 좌표 정렬하기2(sys, sort())

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 좌표 정렬하기1의 변형편이다. 그렇지만 x, y였던 우선순위가 y, x로 바뀌기만 해서 간단히 수정해주면 된다. sort() 문장에서 우선순위만 바꿔주면 된다. import sys N = int(input()) num = [] for i in range(N): num.append(list(map(int, sys.stdin.readline()..

[Python]BaekJoon.AC 2022.01.16

[Python]백준 BaekJoon.AC 11650 : 좌표 정렬하기(sys, sort())

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 놀러와서도 코딩하겠다고 노트북 붙잡고 있는 내가 최고...^^ 아른거려 하나라도 올리고 자야겠다. 그리 어렵지 않은 문제. 그러나 첫번째 for문을 구현하는 문장이 조금 헷갈렸다. 더 간단한 방법이 있는지 찾아봐야겠다. 2차원 배열을 구현하려다보니 이렇게 됐다. 늘 사용하던 것들이지만 합쳐지니 복잡해보인다. import sys N = int(i..

[Python]BaekJoon.AC 2022.01.15

[Python]백준 BaekJoon.AC 10814 : 나이순 정렬(list, sort())

https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 크게 어려운 점은 없는 무난한 list 문제였다. 다만 age를 int 취급해줘야 하는 점 잊지 않아야겠다. 더보기 N = int(input()) mem = [] for i in range(N): age, name = input().split() mem.append([]) mem[i].append(i) mem[i].append(int(age)) mem[i].append(name) mem.sort(key..

[Python]BaekJoon.AC 2022.01.13

[Python]백준 BaekJoon.AC 2751 : 수 정렬하기2(sys, sort())

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 왜 이런 문제가 이 난이도에 있을까 무조건 의심부터 시작했지만.. 시간제한이 2초나 되서, 파이썬은 괜찮지 않을까 싶어 뚝딱뚝딱 제출했더니 역시나 시간초과였다!.. 이 심플한 문제에 다른 풀이과정이 어떤게 있을까 생각했다. 리스트 크기를 1,000,000으로 정해두고 boolean으로 받아야 하나, 별 생각을 다 해봤는데. sys로 숫자를 받아야 통과되는 문제인 듯 했다. 다른 방법도 ..

[Python]BaekJoon.AC 2022.01.13

[Python]백준 BaekJoon.AC 1181 : 단어 정렬(sort())

https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 정렬을 정식으로 접해봤다. 나름 쉽고 간편하다.. 리스트에 단어들을 넣어주고, set을 이용해 중복을 제거해줬다. 그리고 sort를 이용해 정렬을 시도했다. 리스트 항목의 길이를 최우선으로 뒀고, 사전식 배열을 다음 순위로 설정했다. 괄호 안에 순서대로 넣으면 된다. 굿! N = int(input()) words = [] for i in range(N): words.append(inpu..

[Python]BaekJoon.AC 2022.01.11

[Python]백준 BaekJoon.AC 10818 : 최소, 최대(list, sort)

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net list()를 이용해 list가 된다. sort()는 list를 오름차순으로 정렬해준다! N = int(input()) A = list(map(int, input().split())) A.sort() print(A[0], A[N-1])

[Python]BaekJoon.AC 2021.12.30
728x90