본문 바로가기

반응형

old/Programming

(103)
다이나믹 프로그래밍 정의 문제를 푸는 알고리즘 기법중 하나로 커다랗고 복잡한 문제를 작고 심플한 문제들로 나누어서 푸는 방법을 뜻합니다. 예제 $2^1+2^2+2^3+2^4+2^5$ 위 문제를 푼다고 가정했을때, $2^1=2=2$ $2^2=22=2^12$ $2^3=222=2^2*2$ $2^4=2222=2^32$ $2^5=22222=2^4*2$ 위와 같이 특정 계산($2^1,2^2,2^3,2^4$)은 쓸대없이 반복됨을 알수 있습니다. $2^4$를 계산할때 이미 $2^3$을 알고 있다면, 굳이 $2^3$을 다시 계산할 필요는 없습니다. 앞에 계산된 가격에 2만 더함으로서 추가적인 계산을 하지않고 조금더 효율적인 알고리즘을 만드는것이 가능합니다.
[파이썬 코드]이미지로 좌표 찾기 이미지로 찾아서 클릭 왼쪽 상단에서 오른쪽으로 픽셀을 검색하여 좌표를 찾음. 즉 똑같은 그림이 여러개 있다면, 가장 좌측 상단의 좌표만 리턴함. 똑같은 이미지가 없다면 FileNotFoundError import pyautogui def getCoordinateByImg(imgAddress): imgLocatedCoordinate = pyautogui.locateOnScreen(imgAddress) # 이미지가 있는 위치를 가져옵니다. if (imgLocatedCoordinate): return pyautogui.center(imgLocatedCoordinate) # 찾은 이미지의 중앙 좌표를 리턴 else: print("image never found") raise FileNotFoundError 에러..
[파이썬 코드]마우스랑 키보드 조정하기 설치법 pip install pyautogui 좌표 찾기 마우스가 이동시 1초마다 현재 마우스의 좌표를 찍어줌 import pyautogui import time while True: print("Current Mouse Position : ", pyautogui.position()) time.sleep(1) 마우스 import pyautogui pyautogui.moveTo(300, 300) # 마우스 이동 (x 좌표=300, y 좌표=300) pyautogui.moveRel(x, y, t) # 마우스 이동 (현재위치에서 좌표만큼 시간을 사용해서 이동) pyautogui.click() # 클릭 pyautogui.doubleClick() # 더블 클릭 pyautogui.click(button='right..
파이썬의 자료구조-튜플 Tuple 튜플Tuple 정의 파이썬의 자료구조 중 하나 List와 매우 비슷함. 단 수정 불가 Object. 파이썬 자료구조의 종류 리스트 List 튜플 Tuple 딕션어리 Dictionary 셋 set 선언 "(" 와 ")"를 사용해서 선언함. 단, 요소가 하나일경우, 콤마를 붙임 tuple1=(1,) tuple2=(1,2,3) notTuple=(0) #이는 int 타입으로 들어감 인덱싱 리스트와 같음 특징 튜블은 수정 불가능한 리스트와 같음 슬라이싱 [시작 인덱스 : 마지막 인덱스-1 : 조건 인덱스] [0:8:3] = index 0 에서 7 까지 3을 더해가며 선택하라 [:8:] = index 0 에서 7 까지 1을 더해가며 선택하라 [7::] = index 7 에서 -1 까지 1을 더해가며 선택하라 [::..
[JAVA-AdoptOpenJDK]를 [windows 11]에 설치하기 목적 Windows 11에 Java를 설치해보자 Java란? 프로그래밍 언어 중 하나. 이를 사용하기 위해서는 Java Development Kit(JDK)이라는 프로그램이 필요한데, JDK 프로그램들 중에서 가장 유명한 프로그램의 이름이 Java였음. Short history oracle이라는 회사에서 오픈소스 였던 Java를 사고, 이를 유료화 시켜버림. 그래서 수많은 JDK프로그램이 생겨났고, 나는 그중에서 AdoptOpenJDK라는 프로그램을 사용할 것임. AdoptOpenJDK이란? JDK프로그램들 중 하나. 무료. 환경변수? 예전에 쓰여진 글 중에서는 환경변수를 설정해야 한다는 말이 많을텐데, 최근 버전들은 환경변수 설정이 설치시에 자동으로 들어가게 되어있음. 안해도 됨. steps 1. Ad..
힙정렬 Heap Sort 정의 차순으로 정렬하는 방법 중 하나 이진트리를 기반한 데이터 스트럭처 정렬이 되는 트리에 넣고 그대로 출력하면 정렬이 됨. 알고리즘 순서 이진트리의 맞는 위치에 받은 배열을 차례대로 넣음 이진트리의 조건에 맞춰서 정리됨 이트리의 조건에 맞춰서 출력하면 정렬됨 자바 코드 public static void heapSort(int arr[]) { int n = arr.length; // Build heap (rearrange array) for (int i = n / 2 - 1; i >= 0; i--) heapTree(arr, n, i); // One by one extract an element from heap for (int i = n - 1; i > 0; i--) { // Move current ro..
병합정렬 Merge Sort 정의 오름차순으로 정렬하는 기초적인 알고리즘 중 하나 기법 분할 정복 Divide and Conquer 알고리즘 순서 재귀적으로 반씩 나누어서 모든 요소가 1이 될 때까지 나눔 요소가 1이므로, 이는 정렬된 배열임. 이 배열을 차근차근 합침 자바 코드 public static void mergeSort(int[] input) { mergeSortRecurr(input, 0, input.length - 1); } public static void mergeSortRecurr(int[] input, int left, int right) { if (left < right) { int midPos = left + (right - left) / 2; mergeSortRecurr(input, left, midPos..
인텔리제이intellij에 라이브러리library(jar 파일) 추가하기 정의 인텔리제이에서 라이브러리 추가 하기 라이브러리란? 미리 만들어진 명령어 모음집입니다. 이를 사용함으로서 프로그램을 좀 더 쉽고 빠르게 제작이 가능합니다. Steps 원하는 jar 파일을 다운받는다. IntelliJ의 File -> Project Structure Modules -> 프로젝트 -> 오른쪽 탭 중 Dependencies 하단에 "+"버튼을 클릭하여(=JARs or directories...) 다운받았던 jar파일을 선택한다. 적용하게 되면 좌측에 External Libraries를 확인하면 등록되어있는것을 볼 수 있다.

반응형