본문 바로가기
반응형

Python63

[Python] sys.stdin.readline 입력 받기 2022.09.29 - [Algorithm/백준] - [Python] 백준 10989번 - 수 정렬하기 3 [Python] 백준 10989번 - 수 정렬하기 3 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수 baby-dev.tistory.com 이 문제를 풀면서 sys.stdin.readline() 기능에 대해서 알아둘 필요가 있다고 생각하여 공부하게 되었다. 사용법 1. 한 개의 정수 입력 import sys a = int(sys.stdin.readline()) 2. 간격 있는 정수 여러개 import sys a, b, c = map(int.. 2022. 9. 30.
[Python] 백준 2231번 - 분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자릿수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 코드 n = input() min_m = int(n)-len(n)*9 check = 0 if.. 2022. 9. 20.
[Python][이코테] 퀵 정렬 퀵 정렬 퀵 정렬은 이름대로 굉장히 빠른 정렬을 해주는 알고리즘이다. 또한 굉장히 많이 쓰인다. 기준 데이터를 설정하고 그 기준보다 큰 데이터와 작은 데이터의 위치를 바꾼다. 이게 퀵 정렬의 기본이다. 과정 리스트 안에 있는 한 요소를 선택한다. 이를 피벗(pivot) 이라고 한다. 피벗을 기준으로 피벗보다 작은 값은 왼쪽, 큰 값은 오른쪽으로 나눈다. 먼저 사용된 피벗을 제외한 왼쪽 리스트와 오른쪽 리스트를 기준으로 피벗을 각자 정해 다시 정렬한다. 나눠진 리스트들이 분할이 불가능할 때까지 반복한다. array = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8] def quick_sort(array, start, end): if start >= end: #원소가 1개인 경우 종료 return p.. 2022. 9. 13.
[Python] reverse, reversed 차이 1. reverse() reverse()는 list타입에서만 사용 가능한 함수이다. lst = ['a', 'b', 'c'] tpl = ('a', 'b', 'c') dict = {'a': 1, 'b':2, 'c': 3} s = 'abc' lst.reverse() tpl.reverse()#AttributeError: 'tuple' object has no attribute 'reverse' dict.reverse()#AttributeError: 'dict' object has no attribute 'reverse' s.reverse()#AttributeError: 'str' object has no attribute 'reverse' print(lst) #['c', 'b', 'a'] 위에서 보시다시피 li.. 2022. 9. 13.
반응형