목록분류 전체보기 (210)
jm_p_op
https://www.acmicpc.net/problem/14502 지도를 어떻게 저장할것인가? =>dictionary : key=tuple dictionaty.copy()를 사용하여 값 변동시 원래값 남도록 함 all_case() : 막는 모든 경우의 수 : 중복 없이 3번으로 한정되어있어 재귀형식을 안씀=> 코테니까 빠르게 풀자 palce_value() : 바이러스가 퍼질 공간과 아닌 공간 찾기 확인할 공간(_maps)이 없어질때까지 pop함, place는 확인한 공간갯수, not_va을 통하여 바이러스 퍼지면 0을 만들고 곱해서 확인할 갯수 체크 import sys def places_value(maps): answer=0 _maps=maps.copy() while _maps: start,value..
[a,b]구간 안에서 특정조건(최대,최소,등등)을 찾기 위해 중간에 임의의 지점(pivot)을 확인하여 범위를 줄이는 작업 이때 피봇하는 양을 최대한 줄이는것이 핵심이다. f'(x)>0이고 f(x)>=m을 만족하는 x를 찾는다고 할때, 탐색 구간의 중간을 기점으로 m이 존재하는 공간을 탐색해 간다면, m에 가까워 질것이다. (이때 오차 범위를 dx,dy, 등등 여러가지 방법으로 잡을수 있다.) 아래로 볼록 형식에서 최소값을 찾기 위하여, [a,b,c1,c2]의 값을 구한후, a,b중 가장 큰것을 제거하고 새로운 c를 추가 하는 방식으로 범위를 좁히는 방식 자르는 구간이 랜덤하다면, 결국 목적지까지 피봇되는 횟수가 운에 따라 엄청 많아질것이다. 첫 피봇팅 후, 다음 피봇을 할때 전의 데이터를 유지한다면 비..
비동기화 된 함수들은 병렬로 처리가 되지만 안에 인스턴스된 한 객체의 메서드를 사용한다면, 결국 동기화랑 다를것이 없다 객체화된 메서드는 하나임으로 들어온 순서대로 처리 즉 동기화된거랑 차이가 없다 import time import asyncio class T: def __init__(self) -> None: self.x=[] def add(self,n,i): self.x.append(n) time.sleep(1) print("sleep") print(f'{n}명 중 {i}번 째 사용자 조회 중 ...') # async -> 비동기 함수로 변경 import time import asyncio # async -> 비동기 함수로 변경 t=T() async def find_users_async(n): for..
class ABC: def __init__(self,types_name) -> None: t={"a": A, "b": B, "c": C} self.t={} for type_name in types_name: self.t[type_name]=t[type_name]() class A: def __init__(self) -> None: print("a") def plus(a,b): return a+b class B: def __init__(self) -> None: print("b") def minus(a,b): return a-b class C: def __init__(self) -> None: print("c") def plus(a,b): return a+b def minus(a,b): return a-b..
https://github.com/jmpop97/ER_statistics/blob/78bba9e0cfc88b9d3245f557ab11e3d2409aa045/ER_apis/ER_api.py#L213 ERAPI().save_games(start_game: int,n: int = 1,second: int = 1,game_type: list = ["Rank", "Normal", "Cobalt"],duplication=True,reverse=True,d=1, root_dir: str = "") start_game - 게임 데이터 시작 지점 n - 표본의 갯수 game_type - 게임 종류 duplication - 중복 제거 이미 저장된 데이터를 또 받아올 필요가 있을까? → 기본 -True reverse - 역..
넣고 자 하는 영역 클릭후 입력 - 필드 입력 - 필드 이름 입력 - 넣기 () 다 넣으면 다음과 같이 빨간색으로 입력이 된다. hwp.PutFieldText("필드이름","입력값") import sys import os import win32gui import win32com.client as win32 # 현재 파일의 절대 경로 가져오기 #한글 새 문서 가져오기 // HWPFrame.Hwp.Object 말고 pdf도 가능 hwp = win32.gencache.EnsureDispatch('HWPFrame.HwpObject') #윈도우에 열리지 않았으면 0, 열렸으면 해당 번호 출력 if win32gui.FindWindow(None,"빈 문서 1 - 한글") == 0: raise("not open hwp..
import sys import os import win32gui import win32com.client as win32 #한글 새 문서 가져오기 // HWPFrame.Hwp.Object 말고 pdf도 가능 hwp = win32.gencache.EnsureDispatch('HWPFrame.HwpObject') #윈도우에 열리지 않았으면 0, 열렸으면 해당 번호 출력 if win32gui.FindWindow(None,"빈 문서 1 - 한글") == 0: raise("not open hwp") # 한글 프로그램이 보이는 지 설정 ,True : 창이 뜬다 Flase : 백그라운드에서 실행 hwp.XHwpWindows.Item(0).Visible = True # 보안 모듈 실행 뜨지 않도록 하기 ##설정 ht..
시작점에서 목표지점까지 최단경로를 찾는 알고리즘이다. 짧게 걸리는 것부터 찾아가며 목표지점까지 가는 알고리즘 장점 : 최단경로보다 더 걸리는 공간들은 계산들을 줄일수가 있다. 확인할 리스트에서 가장 가까이 있는것 찾기(초기는 하나만 있음으로 상관 없음) 가장 가까이 있는것에서 다음 이동 경로 리스트를 추가 1~2 반복 확인 지역에 목표지점이 있고, 검색지역이 그 값보다 클때 반복을 멈춘다 위와 같이 계속 돌리면 된다. 허나 이떄 조심해야되는것이 만약 C1=>C2 에서 0.2초가 걸린다고 하자 이땐 C2의 값을 2.2로 수정이 필요하다. 검색지역을 추가할때 정렬된 형식이 아니라면, 매번 최소값을 찾기위해 리스트를 완전 탐색해줘야한다. 이를 줄이기 위하여 정렬된 상태로 만들고, 추가되는 값을 정렬된 공간사이..