브루트포스로 풀 걸 그래도 생각하는 과정이 할만했던 것 같다... top을 정의해서 top이 6, 16, 26 처럼 6이 한개이면 last6 = 1, 66, 266처럼 6이 2개이면 last6 = 2.. 이런식으로 커지고 top6가 1이라면 안에서 10번 loop를 돌아서 {top}66{i} 를 프린트 해준다. 6660부터 6669까지 프린트 할 수 있는 이유이다. 마찬가지로 top6가 2이라면 안에서 100번 loop를 돌아서 {top}6{i} 를 프린트 해준다. 66600부터 66699까지 프린트 할 수 있는 이유이다. 이런식으로 top6가 5일때까지 구해줬다. import sys N = int(sys.stdin.readline()) count = 1 top = 0 last6 = 0 while cou..
m_bin = int(input(), 2) print(oct(m_bin)[2:])
서론 중국인의 나머지 정리(Chinese remainder theorem; CRT)는 중국의 5세기 문헌인 『손자산경(孫子算經)』에는 나오는 문제로, 내용은 다음과 같다. 3으로 나누었을 때 2가 남고, 5로 나누었을 때 3이 남고, 7로 나누었을 때 2가 남는 수는 무엇인가? x = r1 (mod n1) x = r2 (mod n2) ... x = rk (mod nk) 이고 N = n1 * n2 * ... * nk 라고 하자. mi는 mi * (N/ni) = 1(mod ni)를 계산해서 구한다. 일반해는 x = m1 (N/n1) + m2 (N/n2) + ... + mk (N/nk) mod N 배경 지식 곱셈의 역원 구하기 출처 https://namu.wiki/w/중국인의%20나머지%20정리
비트를 지도처럼 쭉 늘여놓아서 비트맵이다. 데이터를 비트 단위로 처리하기 위해서 long 배열로 할당한 자료형 C의 모든 자료형은 최소 단위가 byte라서, 실제로는 8의 배수의 bit로 나오게 된다. 기본 연산 OR can be used to set a bit to one: 11101010 OR 00000100 = 11101110 AND can be used to set a bit to zero: 11101010 AND 11111101 = 11101000 AND together with zero-testing can be used to determine if a bit is set:11101010 AND 00000001 = 00000000 = 011101010 AND 00000010 = 00000010..
XArray는 매우 큰 포인터 배열처럼 동작하는 추상 데이터 타입(abstract data type) 입니다. 해시와 크기 변경 가능한 배열을 모두 만족 시킵니다. 해시와 다른 점이라면, 캐시 친화적인 방식으로 위치 이동(이전, 다음)을 효율적으로 할 수 있습니다. 크기 변경 가능한 배열과 다른 점이라면, 배열의 크기를 증가 시키기 위해서 데이터를 복사 하거나 MMU 매핑을 변경할 필요가 없습니다. 양방향 연결 리스트(doubly-linked list) 보다 메모리 효율성이 좋고 병렬화 가능하며 캐시 친화적입니다. 또한 RCU의 장점을 활용하여 락킹없이 조회 작업을 수행합니다. 위와 같이 XArray는 많은 장점을 가지고 있는 자료구조 입니다. 하지만 XArray에는 몇가지 특징(장단점)들이 있습니다. ..
맵은 hash라고도 부른다. 배열이나 딕셔너리와 관련있는 key-value 형태의 저장소이다. 키 값은 트리에서 중복되지 않는다. [Map의 종류] Hash Map : 중복 허용하고 순서 보장 x Linked Hash Map : map에 있는 원소들의 linked list를 유지한다 Hash Table : Hash Map보다 느리지만 동기화 지원 Tree Map : 오름차순 정렬을 하면서 저장한다. 파이썬의 dictionary 또한 hashmap으로 되어 있다.
항상 exit(0)으로 끝내야함!!