1. 비교대상 비트연산은 왼쪽 오른쪽 정수들의 비트 단위별로 비교 > 5 & 3은 5 = 101이고 3 = 011이고 3개의 비트 각각을 비교해서 결론을 낸다. 1 & 0 = 0, 0 & 1 = 0, 1 & 1 = 1이므로 5 & 3 = 001 = 1이다. 논리연산은 불리언 값 True, False끼리 비교 > 5 and 3하면 5와 3은 컴퓨터에서 True로 인식하여 결과는 True가 된다 2. 단축평가 논리연산은 단축평가를 한다. 중간에 전체 결론이 확실하게 나면 그 뒤의 연산은 수행하지 않는다. 비트연산은 단축평가를 하지 않는다. 반드시 모든 비트 단위들을 비교한다. 예를 들어 5 and 0 and 3은 5 and 0 = 0이고 여기서 and 더 해봤자 무조건 0이므로 0 and 3을 평가하지 ..
https://deepdata.tistory.com/972 희소 배열(sparse table) 자료 구조 배우기https://cp-algorithms.com/data_structures/sparse-table.html Sparse Table - Algorithms for Competitive ProgrammingSparse Table Sparse Table is a data structure, that allows answering range queries. It can answer most range queries in $O(\log n)$, but its trdeepdata.tistory.com 희소 배열(sparse table)로도 알려진 더블링(doubling) 기법은 어떤 횟수 K를 2의 거듭제..
변수가 많으면 리스트로 변수 수를 줄여서 인덱싱하여 각 원소에 접근하는데, 이 비용이 생각보다 비싸다. 몇번 반복 안하면 무시할정도긴 해도 수천만번, 수억번이상 반복하면 이 비용을 무시할 수 없을정도로 커진다 변수가 3개 필요한 경우 리스트를 이용해서 길이가 3인 리스트를 만들고 다음과 같은 코드를 작성하였다. import times = time.time()for _ in range(40320): b = [0,0,0] score = 0 for _ in range(50): b[0] = 1 b[1] = 1 b[2] = 1 for _ in range(120): score += (b[0]+b[1]+b[2]..
1. 이항 연산자 표현식 (피연산자) (연산자) (피연산자)처럼 연산에 참여하는 피연산자가 2개인 표현식 대부분의 산술 연산자와 관계 연산자가 여기에 속함 1) 산술연산자(수치 계산) 대입: a = 10 더하기: a + b 빼기: a - b 곱하기: a * b 나누기: a / b 나머지: a % b 2) 관계 연산자 (true/ false로 관계 평가) 같음 : a == b 같지 않음: a != b 초과: a > b 이상: a >= b 미만: a 이하: a 3) 논리 연산자 논리 AND(둘 다 true일때만 true) : a && b 논리 OR(둘 중 하나만 true여도 true이고 둘 다 false일때만 false) : a || b 4)비트 연산자 AND : a & b OR : a | b X..
25634번: 전구 상태 뒤집기 전구의 밝기들이 배열로 주어지고, 초기에 켜져있는지, 꺼져있는지가 주어진다. 연속하는 구간내의 모든 전구들의 상태를 뒤집으면 켜진 전구는 꺼지고, 꺼진 전구는 켜진다. 이 연산을 정확히 1번 해야할때, 전구 밝기들의 합의 최댓값을 구한다. ---------------------------------------------------------------------------------------------------------------------------------------------------- n이 최대 20만인데, 연속하는 구간의 상태를 뒤집어야한다? 구간 dp로 하자니 O(N^2)일텐데 그리고 연산을 무조건 1번은 해야한다는거까지 굉장히 어렵다 처음 상태에서..
1. 로딩 지연 문제 프로그램은 한줄 실행이 성공하면 바로 다음줄로 넘어가는데, 웹드라이버의 로딩이 안되어있다보니, 프로그램이 해당 요소를 찾지 못해 에러나는 경우가 있다 로딩 속도가 프로그램 속도를 따라오지 못해 에러가 나는 경우가 있다는 것 import time time.sleep()으로 지연시간을 두는 방법이 있는데, 이래도 안되는 경우가 종종 있다 이때 요소가 로딩이 될때까지 기다리고, 로딩이 되면 실행을 하는 방법이 있다는데 WebDriverWait와 EC.presence_of_element_located를 이용하면 된다 from selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import ex..