[BOJ] 백준 1026 보물
출처: https://www.acmicpc.net/problem/1026 Approach S = (A[0] × B[0]) + ... + (A[N-1] × B[N-1]) A가 배치될 수 있는 모든 경우의 수에 대해 A[i] × B[i] 합(=S)의 최소값을 구하면 되는 문제이다. 문제 조건을 잘 이용하면 A가 재배치 될 수 있는 모든 Case를 탐색할 필요 없다. (조건) A, B 각 원소는 100보다 작은 양수 때문에 A[i] × B[i] 합이 최소가 되려면 어느 한쪽(A)은 작은 순서, 다른 한쪽(B)은 큰 순서로 곱해지면 된다. A = [ 1 , 1 , 1 , 6 , 0 ] → 오름차순 → [ 0 , 1 , 1 , 1 , 6 ] B = [ 2 , 7 , 8 , 3 , 1 ] → 내림차순 → [ 8 ,..
2021. 8. 22.
[python] 파이썬 리스트 (list)
리스트(list)는 배열 같은 것으로 대괄호 []를 이용한다. 원소 삽입 insert(idx, val) idx 위치에 val 원소 삽입 (기존 원소가 존재한다면 뒤로 밀린다.) a = [1, 2, 3] a.insert(0, 4) print(a) # [4, 1, 2, 3] append와 extend x = [1,2,3] x.append([4,5]) print(x) # [1, 2, 3, [4, 5]] y = [1,2,3] y.extend([4,5]) print(y) # [1, 2, 3, 4, 5] append() 에서 원소 한개만 주면, extend와 동일한 효과를 가지게 할 수 있다. x = [1,2,3] x.append([4]) print(x) # [1, 2, 3, [4]] x = [1,2,3] x.ap..
2021. 8. 21.
[python] 파이썬 세트 (set)
set - 세트(Set)는 중복되지 않은 항목들이 모인 것으로 순서도 없다.(Unordered) → 순서가 없기 때문에 인덱싱(indexing)이 없다. 인덱싱이 없다. - 딕셔러니와 마찬가지로 중괄호 {} 사용 - 중괄호를 사용하는 것은 dictionary와 비슷하지만, 키key가 없이 값만 존재한다. - 집합 연산이 가능하다. A = set( ["H", "S", "W", "S", "S"] ) print(A) numbers = {2, 1 ,3, 3, 1, 2, 4} print(numbers) set 관련 함수 - add(): 기존 값에 추가 (중복된 값은 무시) - update(): 기존 값 + 새로운 값으로 중복없이 구성 값을 변경하기 보다는 여러 데이터를 추가할 때 사용 - remove(): 해당하..
2021. 8. 18.
[python] 파이썬 튜플 (tuple)
튜플 (tuple) - 순서가 있는 객체 집합이다. (인덱스로 접근 가능) - 튜플(Tuple)은 변경될 수 없는 리스트로 소괄호 () 사용 list 형과 비슷하지만 생성되고 값이 변경되지 않는 것에 차이가 있다. → 값이 변경될 것 같다? list → 값이 변경될 리 없다. tuple 튜플 생성 t = tuple() t = (1, ) # 1개 요소만 존재할 때도 반드시 콤마(,) 필요 t = (1, 2, 3) t = 1, 2, 3 # 괄호 생략 가능 t = (1, 2, ('a', 'b')) # 내부적으로 중복 가능 원소 접근 t = ("color", 1) print(t) # t[0] = None # 원소 변경이 되지 않기 때문에 Error 원소 추가 튜플은 기존 값은 수정하지 못하지만 새로운 데이터를 ..
2021. 8. 18.