반응형

분류 전체보기 9

python - 이분/이진 탐색

이분 탐색은 target 값을 정해 놓고 그 target값을 찾는 알고리즘입니다. 이분 탑색은 완전 탐색과는 다르게 모든 경우의 수를 다 찾는 것이 아닌 범위를 좁혀 가면서 탑색을 합니다. 이분 탐색의 이름만 봐도 범위를 어떻게 좁힐지 알 수 있습니다. 말 그대로 '이분' 둘로 나누다 범위를 반복할 때마다 중간값 기준으로 둘로 나누어 중간값이 target 값보다 크면 중간값보다 작은 것들 중에서 탐색하고 중간값이 target 값보다 작으면 중간값보다 큰 것들 중에서 탑색을 한다. 여기서 중요한 점이 만약 탑색 할 값들이 정렬돼있지 않으면 중간값은 의미가 없게 됩니다. 따라서 이분 탐색을 하려면 탐색할 값들이 정렬되어 있어야 합니다. 그래서 최종적으로 중간값과 target 값이 같아질 때까지 반복하면 된다..

python으로 포럼에 글 자동으로 올리기(selenium)

제가 selenium을 공부하면서 만든 매크로입니다. 최종적으로 윈도 기능인 작업 스케줄러를 이용하여 매일 지정시간에 매크로 프로그램을 작동시켜 포럼에 글을 올리는 걸 만들어볼 겁니다. 먼저 제가 selenium을 간단하게 공부한 거라 selenium설명보다는 매크로 만드는 글이 될 거 같습니다. 먼저 selenium은 파이썬 기본 모듈이 아니기 때문에 설치를 직접 해줘야 합니다. cmd 창에 pip install selenium을 쳐주세요. 그럼 알아서 다운로드될 겁니다. 다운로드가 다 되셨으면 Visual Studio Code을 설치해야 합니다. Visual Studio Code설치법 까지 쓰면 글이 너무 길어져서 이거는 죄송하지만 유튜브나 다른 글을 찾아봐주세요. 코드를 짜기 전에 크롬 드라이버를 ..

python - 모듈 2022.03.30

python - 함수

함수 함수는 우리가 흔히 쓰는 print(), input(), range(), len() 등 괄호가 붙어있는 코드입니다. 이러한 함수들은 파이썬에서 기본으로 제공되는 함수입니다. 이렇게 기본으로 제공되는 함수 말고 다른 기능이 필요할 때 함수를 직접 정의해서 쓰면 됩니다. 예제를 보면서 설명하겠습니다. def s(A, B): return(A + B) a = int(input()) b = int(input()) print(s(a, b)) 위 코드는 a와 b 값을 입력받아 두 수의 합을 출력하는 코드입니다. 그냥 print(a + b) 이런 식으로 써도 되겠지만 함수를 이용해서 두 수의 합을 구해보겠습니다. 먼저 함수는 코드 맨 위쪽에 써야 합니다. 그 이유는 python 은 위에서부터 한 줄씩 한 줄씩 읽..

python - 그리디(Greedy)

그리디 Greedy의 사전적 의미는 '탐욕스러운'이라는 뜻입니다. 그리디 알고리즘은 그 이름에 알맞게 탐욕적인 알고리즘입니다. 그리디 알고리즘은 현제 상황에서 가장 최적의 해를 찾습니다. 위 그림에서 돈을 가장 많이 얻을 수 있는 루트는 천원 먹고 100만 원 먹는 거지만 그리디 알고리즘은 현제 상황에서의 최적의 해를 찾기 때문에 만원과 천원중 만원을 고르고 10만 원과 20만 원 중 20만 원을 골라 21만 원을 얻습니다. 즉 그리디 알고리즘은 다음 상황은 생각하지 않는 거죠. 그리디 알고리즘 예시로 간단한 문제 하나를 풀어보겠습니다. 동전으로 거스름돈을 줄 때 동전을 최소의 개수로 주려면 몇 개의 동전을 줘야 하는지 물어보는 문제입니다. print("거슬러줄 돈을 입력하세요.") money = int..

python - 반복문

while문 while문은 조건이 참(True)인 동안 반복합니다. a = 0 while a < 10: print(a) a = a + 1 위 코드의 조건은 a < 10 즉 a가 10보다 작다면 while문 안에 있는 코드를 실행하고 아니면 넘어갑니다. 조건문과 비슷한 느낌입니다. 그리고 와일 문 안에는 조건문의 결과(참 거짓)를 바꿔줄 코드가 필요합니다. 위 코드에서는 a = a + 1이 a 값을 1씩 증가시키면서 반복이 10번 돌면 a가 10이 돼서 a < 10 이 거짓(False)이 되기 때문에 더 이상 반복문이 실행되지 않습니다. while문 - 무한루프 while문 조건 부분에 1을 쓰면 python에서 1은 불수로 True 이기 때문에 무한루프(무한하게 반복되는 것)가 됩니다. while 1: ..

python - 조건문

조건문은 코드를 실행시킬 때 특정 조건이 맞는지 판단하고 실행시키는 것입니다. 조건이 맞는지 판단할 때는 불수를 씁니다. (python 변수 자료형 참고) if 1: print("조건이 충족됨") 일단 if 문(조건문)의 기본 형식부터 알아보겠습니다. 먼저 if 조건: 이렇게 들어갑니다. 만약 조건 부분의 불 수가 True라면 if 문 안에 있는 코드를 실행시키고 아니면 실행이 안 됩니다. 위의 코드에서 조건에 1을 씀으로 1을 불수로 변환하면 True이기 때문에 (1 = True, 0 = False) 조건이 충족됨 if 문안에 있는 코드가 실행됩니다. **if 문 끝에는 콜론: 10: print("a는 10보다 큽니다.") else: print("a는 10보다 작거나 같습니다.") 위의 코드를 실행시키..

python 변수 자료형

변수의 자료형은 숫자형 타입, 불리언 타입, 문자형 타입 이렇게 3가지로 구분됩니다. ​ 1. 숫자형 타입 ​ 숫자형 타입은 2가지로 나뉩니다. int-정수형, float-실수형 이런 걸 type(타입) 이라고 합니다. type() 함수를 이용하여 int와 float이 뭔지 알아보겠습니다. a = 2 b = 3.14 print(type(a)) print(type(b)) 위의 코드를 실행하면 print(type(a))를 하면 이렇게 나옵니다. 이처럼 프린트 문 안에서 연산하여 출력을 할 수도 있습니다. 본론으로 돌아와서 class 'int'라고 나오는 건 단순하게 a가 인트형 변수라는 겁니다(a = 2는 정수고 b = 3.14는 실수이다) class는 어려운 개념이라 따로 나중에 설명할게요. float도 ..

python - 변수

변수는 프로그래밍을 할 때 필수적으로 필요합니다. 변수는 쉽게 말하면 수학에서 흔히 쓰는 문자 값입니다. a = 3 a(변수 이름) = 3이라고 쓰면 변수 a에 3을 대입한다 이런 뜻입니다. **등호 오른쪽에 있는 값을 왼쪽 값에 대입합니다.** ​ 한번 변수 a를 출력해보겠습니다. a = 3 print(a) 이런 식으로 코딩을 하면 3 이렇게 3이 나옵니다. 여기서 print(a)에서 괄호 안에 따옴표를 안 쓰는 이유는 출력문으로 보여드리겠습니다. a = 3 print("a") 이렇게 print의 괄호 안에 따옴표를 쓰면 출력이 a 이런 식으로 문자 a가 출력됩니다. a가 따옴표 안에 있으면 컴퓨터는 문자로 인식하기 때문에 a 안에 있는 수 3이 아닌 문자 a가 출력되는 것이죠. 마지막으로 예제 하나 ..

반응형