분류 전체보기 720

[백준][Python] 2018 수들의 합

간격 컨트롤이 아닌 내부 요소들의 합으로 컨트롤하는 슬라이딩 윈도우. import sys input = sys.stdin.readline N = int(input()) prex_sum, left = 0, 0 answer = 0 # 슬라이딩 윈도우 for right in range(1,N+1): # 결론적으로 end는 기존 슬라이딩 윈도우 처럼 일정 간격이 고정이 아니라 # 일정 합 이상이되면 알아서 그 간격이 줄어드는 시스템이므로 한번 순회로 전부 조사 가능. while left < N and prex_sum < N: prex_sum += left+1 left += 1 if prex_sum == N: answer += 1 prex_sum -= right print(answer)

[Browser] BOM(Browser Object Model)

BOM(Browser Object Model) API BOM (Browser Object Model) 웹브라우저의 창이나 프레임을 추상화해서 프로그래밍적으로 제어할 수 있도록 제공하는 수단 전역객체인 Window의 프로퍼티와 메소드들을 통해서 제어 웹 브라우저와 관련된 객체의 집합. DOM의 일부로 보는 시선도 있음. 전역변수와 함수가 사실은 window 객체의 프로퍼티와 메소드 모든 객체는 사실 window의 자식 DOM과 달리 BOM은 공식적인 표준이 없기에 웹 브라우저마다 BOM API가 조금씩 다를 수 있음 window는 생략 가능 window 메소드. window.innerWidth : window의 화면 가로 폭 window.alert() : 알림창 window.confirm() : Yes, ..

[Web] Realtime Web이란?

핀님의 10분 테코톡을 시청 후 작성했습니다. Realtime Web이란? 인터넷에서 사용자들로 하여금 창작자가 정보를 만들어내는 즉시 수신할 수 있도록하는 기술 혹은 서비스 정통적인 웹 웹은 HTTP 요청-응답 모델을 기반으로 구축된다. HTTP는 무상태 프로토콜이며 클라이언트와 서버 간의 통신은 각각 독립적인 요청과 응답의 쌍으로 구성된다. 웹 브라우저에서 폼을 채우고 이를 웹 서버로 제출하는 하나의 요청으로 웹 서버는 요청된 내용에 따라서 데이터를 가공하여 새로운 웹 페이지를 작성하고 응답으로 되돌려준다.(=포스트백 : 요청이 있을 때마다 페이지를 새로 그리는 것.) AJAX 등장 사용자 인터페이스 나머지 부분을 방해하지 않고 비동기로 데이터를 송/수신 할 수 있다. 전체 페이지를 다시 로딩하는 것..

webDeveloper 2021.08.19

[SWEA][Python] 2005 파스칼의 삼각형

stack란에 있어서 억지로 stack처럼 LIFO구현. 조금 더 만지면 복사안하고 stack2개로 돌릴 수 있을 것같은데 그냥 구상만.. import sys sys.stdin = open('input.txt') test = int(input()) for test in range(1, test+1): n = int(input()) pascals = [[] for _ in range(n)] #* *삼각형을 그릴 틀* pascals[0].append(1) #* *첫열은 그냥 삽입* for i in range(1, n): #* *2열부터 그릴 것임.* stack = pascals[i-1][:] #* *1열(i-1열을 복사)* pascals[i].append(1) #* *첫인자 삽입* for j in range..

[SWEA][Python] 1234 비밀번호

stack을 이용 간단풀이. import sys sys.stdin = open('input.txt') for test in range(1,11): s, nums = input().split() nums = list(nums) # 비밀번호 list stack = [] # 옮겨담을 stack while nums: stack.append(nums.pop()) # 일단 pop while nums and stack and stack[-1] == nums[-1]: # 같은 문자가 나오면 양쪽 다 제거. 틀린게 나올때까지 혹은 빌때까지 stack.pop() nums.pop() print(f"#{test} {''.join(stack)[::-1]}") # stack 에 역순으로 담긴 password 뒤집어 출력

[Python] 파이썬의 메모리 관리 : Garbage Collections

Python 의 Garbage Collection GC는 언제 사용되는가? 파이썬은 메모리관리에 reference counting과 garbage collection을 이용한다. reference counting : 참조 횟수가 0이 된 객체를 메모리에서 해제 garbage collection : 참조 횟수가 0에 도달할 순 없지만 reference cycle(순환참조)가 일어날 때. 엄밀히 말하면 reference counting 도 garbage collection의 한 형태. 레퍼런스 카운팅 모든 객체는 참조 당할 때 레퍼런스 카운터를 증가시키고 참조가 없어질 때 카운터를 감소시킨다. 카운터가 0이 되면 객체가 메모리에서 해제된다. sys.getrefcount()로 확인 가능. 순환 참조 간단한 예..

[알고리즘] Cut Vertex, Cut Edge 단절 점, 단절 선 : sub-tree의 단절

Cut Vertex ( 절단점 찾기 ) Cut Vertex(절단점) 그래프의 절단점이란 해당 정점을 삭제했을 때 그래프가 두 개 이상의 그래프로 나누어 지는 점을 말합니다. 이 때 그래프는 항상 undirected graph입니다. 1) 직관적으로 절단점을 찾는 방법을 생각해 봅시다. (러프한 방법. 직접 삭제해본다. 섬나누기 or 연구소 같은 방법.) 느낌상 모든 정점에 대해 그 정점을 삭제한 후의 그래프를 먼저 따로 구합니다. 그 다음 DFS 혹은 BFS 로 몇 번만에 전체 그래프를 cover할 수 있는지를 보면 될 것 같습니다. 그러나 이 방식은 각 정점마다 알고리즘을 돌려야 하니 정점이 많아 질수록 매우 불리해 집니다. 2) 무향그래프의 DFS Spanning tree를 보면 cross edge가..

[알고리즘] SCC (Strongly Connected Component) 강한 연결 요소

강한 연결 요소(SCC) 무향 그래프에서 절단점이 존재하지 않는 그래프를 우리는 Biconnected component라고 부릅니다. 절단점이 없다면 그래프 상의 어떤 점을 삭제하더라도 임의의 두 정점은 서로로 가는 경로가 존재하게 됩니다. Biconnected Component Undirected Graph에서 절단점이 존재하지 않는 그래프 Strongly Connected Component 만약 그래프의 임의의 한 정점에 대해 다른 모든 정점으로 가는 경로가 존재한다면 그 그래프를 SCC(Strongly Connected Component)라고 한다. SCC(Strongly Connected Component)특징 같은 SCC내에서 뽑은 임의의 U, V 점에서 U->V 혹은 V->U의 경로(직/간접적..

[백준][Python] 16971 배열B의 합

배열에서 위치당 총합에 얼마나 기여하는지 보면 됨. 가에 있는 열, 행은 인덱스 0, end는 1번, 1~end-1까지는 2번 내부에 있는 열, 행은 인덱스 0, end는 2번, 1~end-1까지는 4번 이걸 기준으로 각 열 행 합에 대해 가에있는 값과 차이를 비교해주고 바꿔서 올라가면 바꿔주면 된다. import sys input = sys.stdin.readline N, M = map(int, input().split()) matrix = [list(map(int,input().split())) for _ in range(N)] # 1~M-2번 인덱스, 1~N-2번 인덱스의 합이 가장 작은 배열과 가생이에 있는 합이 가장 큰 배열과 교환을 해준다. # 열검사 -> (1~N-2)*2 + 0 + N-1 ..