전체 글 87

[백준]10942 - 팰린드롬?

핵심 아이디어구간 [a, b]를 골라 만든 수가 팰린드롬수라고 할 때, 구간[a, b] 내에 (a + b) / 2 == (a' + b') / 2를 만족하는 임의의 두 숫자 a', b'로 만들어진 구간 [a', b'] (이때 a' 구간 [a, b]를 골라 만든 수가 팰린드롬수가 아닐 때, 구간[a, b] 밖에 (a + b) / 2 == (a' + b') / 2를 만족하는 임의의 두 숫자 a', b'로 만들어진 구간 [a', b'] (이때 a' 구현구간의 양 끝의 합을 2로 나눈 중앙값을 키로 가지는 2개의 딕셔너리를 만든다.딕셔너리 PL은 키값이 중앙값인 팰린드롬수를 만족하는 가장 큰 구간을 저장한다.딕셔너리 NPL은 키값이 중앙값인 팰린드롬수를 만족하지 않는 가장 작은 구간을 저장한다. using Str..

공부용/PS 2024.10.24

방통대 자료구조 10강 이진 트리 개수

1.스택으로 상이한 이진 트리의 수를 구할 수 있는 이유중위 순회는 왼쪽 서브트리 -> 부모 노드 -> 오른쪽 서브 트리 순으로 방문을 하는데, 스택은 가장 먼저 삽입된 자료를 가장 먼저 가져오므로 스택에서 push()는 빈 노드를 만들고 왼쪽 서브 트리를 가리키는 것을 의미한다.또한 스택에서 pop()을 통해 top에 있는 자료를 꺼내는 것으로 부모 노드 방문을 나타낸다. 이때 pop() 이후로 push()한 자료는 부모 노드보다 나중에 방문해야 하므로 오른쪽 서브 트리를 가리킨다. 2.스택을 수열로스택을 통해 상이한 이진 트리가 표현가능함을 알았다. 상이한 이진 트리는 결국 push()와 pop()의 조합으로 표현이 가능한데 이때 push()를 A, pop()을 B라 하자 그리고 스택에 특성 때문에 ..

방통대/1 2024.09.12

Python 기록용

#데이터 타입del ,append, extend0.숫자형, 문자형 1.리스트 [1, 2, 3] 2.튜플->리스트와 달리 변경 불가 대입시 괄호 생략 가능 (1, 2, 3) 3.딕셔너리 {key1:value1, key2:value2, key3:value3}중복되는 키는 무시함키에 리스트는 사용불가함(immutable한 객체만 사용 가능함)list(a.keys()) //키리스트 만들기a.values() //밸류리스트 만들기a.items() //키 아이템 쌍 얻기.clear(), .get('key', 'default value)'name' in a //키가 딕셔너리 안에 있는지 조사 4.집합>>> s1 = set([1, 2, 3]) 셋키워드로 생성>>> { 1, 2, 3 }집합은 중복을 허용하지 않고, 순서가..

기타/TEMP 2024.09.06