본문 바로가기

분류 전체보기55

백준 1083번 : 소트 (Python) 출처 : https://www.acmicpc.net/problem/1083 n = int(input()) nums = list(map(int, input().split())) s = int(input()) # 배열 완료된 숫자 개수 done = 0 # 이상적 배열 ideal = sorted(nums, reverse=True) while s > 0 : if nums == ideal : break range_max = max(nums[done : min(n, done+s+1)]) # print("배열 완료된 숫자 개수", done) # print("현 범위", nums[done : min(n, done+s+1)]) # print("현 범위 최대", range_max) idx = nums[done:].inde.. 2022. 12. 7.
파이썬 표준 라이브러리 itertools 사용하기 (2) 파이썬 표준 라이브러리 Itertools 사용하기 (2)¶ In [1]: import itertools as it 3. iterable 객체의 길이만큼 연산하는 iterator¶ 적당한 번역이 떠오르지 않아서 의역했음 공식 문서에는 "Iterators terminating on the shortest input sequence" 라는 카테고리로 분류되어 있다. 이 카테고리의 메소드들은 iterable 객체를 순서대로 한 번만 순회하면서 결과를 출력한다. it.accumulate(iterable, func=operator.add, initial=None) iterable 개체의 첫번째 원소부터 함수를 누적해서 적용해 결과값을 출력한다. func 인자로 적용할 함수를 전달하는데, 입력하지 않으면 누적합이 기.. 2022. 12. 6.
파이썬 표준 라이브러리 itertools 사용하기 (1) 파이썬 표준 라이브러리 Itertools 사용하기 (1)¶ itertools를 사용하면 for문으로 힘겹게 낑낑거리던 작업을 손쉽게 해결할 수 있다. In [1]: import itertools as it 1. 무한 iterator 생성¶ it.count(start, step=1) start 부터 step만큼 증가하는 수 무한히 생성. 기본 step = 1 In [2]: for i in it.count(10) : print(i, end=" ") if i == 20 : break 10 11 12 13 14 15 16 17 18 19 20 In [3]: for i in it.count(10, 2) : print(i, end=" ") if i == 20 : break 10 12 14 16 18 20 it.cy.. 2022. 12. 5.
dict 자료형 정렬하기 정렬시 기본적으로 key 값을 기준으로 정렬된다. In [1]: z = {'C' : 4,'B' : -2, 'D' : 0, 'A' : 3} sorted(z) Out[1]: ['A', 'B', 'C', 'D'] In [2]: sorted(z.keys()) Out[2]: ['A', 'B', 'C', 'D'] dict.values()를 정렬하면 value값만 정렬 가능 In [3]: sorted(z.values()) Out[3]: [-2, 0, 3, 4] dict.items() 를 정렬하면 key와 value를 엮은 튜플을 key를 기준으로 정렬 In [4]: sorted(z.items()) Out[4]: [('A', 3), ('B', -2), ('C', 4), ('D', 0)] 정렬된 결과를 다시 dict로 .. 2022. 12. 5.