본문 바로가기
728x90

Python54

백준 2048 (Easy) [12100] Python 코드 + 해설 문제 이해하기2048 게임은 4×4 크기의 보드에서 숫자 블록을 이동시키며 즐기는 게임이다. 하지만 이번 문제에서는 보드의 크기가 N×N (1 ≤ N ≤ 20)으로 주어지고, 최대 5번의 이동으로 만들 수 있는 가장 큰 블록의 값을 찾아야 한다.게임 규칙 정리상하좌우 네 방향으로 보드의 모든 블록을 한꺼번에 이동시킬 수 있다.같은 숫자를 가진 두 블록이 충돌하면 하나로 합쳐진다.한 번의 이동에서 이미 합쳐진 블록은 다시 합쳐질 수 없다.최대 5번 이동하여 가장 큰 블록의 값을 구해야 한다.해결 방법: DFS로 모든 경우의 수 탐색하기이 문제는 모든 가능한 이동 조합을 시도해보는 방법으로 해결할 수 있다. 최대 이동 횟수가 5번이므로, 가능한 이동의 수는 4^5 = 1024가지이다. 따라서 DFS(깊이 우.. 2024. 10. 22.
백준 구슬 탈출 2 [13460] Python 코드 + 해설 문제 설명구슬 탈출은 빨간 구슬을 구멍에 넣는 것이 목표인 게임이다. 직사각형 보드에 빨간 구슬과 파란 구슬이 각각 하나씩 놓여 있으며, 보드를 기울여 구슬들을 움직일 수 있다. 중요한 점은 파란 구슬은 구멍에 들어가면 안 되고, 빨간 구슬만 구멍에 빠져야 한다. 보드를 왼쪽, 오른쪽, 위, 아래로 기울일 수 있으며, 한 번 기울일 때마다 구슬들은 그 방향으로 모두 이동할 수 있을 만큼 이동한다. 두 구슬은 동시에 움직이며, 이동 중에 서로 겹칠 수 없다. 목표는 최소 횟수로 빨간 구슬을 구멍에 넣는 것이다. 단, 이동 횟수는 10번을 초과할 수 없다. 그렇다면 어떻게 이 문제를 해결할 수 있을까?해결 방법: BFS를 활용한 상태 탐색이 문제는 구슬들의 모든 가능한 상태를 탐색하여 최소 횟수로 빨간 구슬.. 2024. 10. 21.
[업비트] 실시간 MACD API Python Code upbit upbit macd upbit python code 업비트 오토트레이딩 macd macd 계산식 업비트 개발자 센터에서는 실시간으로 MACD 값을 제공하는 API가 없습니다. 업비트에서 제공하는 시세 종목 조회 API를 이용해서 실시간 MACD 를 출력하는 프로그램을 짜보고자 합니다. MACD란? MACD는 Moving Average Convergence Divergence의 줄임말로 이동평균선의 수렴과 발산을 분석하는 보조지표입니다. 이동평균선이란 주가평균을 이은 선으로서 단기 이평선이 장기 이평선에서 멀어지면 발산, 단기 이평선이 장기 이평선에서 가까워지면 수렴을 한다고 합니다. 또한 주식의 경우 파동의 성질을 가지고 있어 발산과 수렴이 반복해서 일어나는 것을 확인할 수 있습니다. 이 반복.. 2021. 9. 9.
[업비트] 실시간 OBV API Upbit Python Code upbit upbit macd upbit python code 업비트 오토트레이딩 obv obv 계산식 업비트 개발자 센터에서는 실시간으로 obv 값을 제공하는 API가 없습니다. 이번 글에서도 저번글과 마찬가지로 업비트에서 제공하는 시세 종목 조회 API를 이용해서 실시간 OBV를 출력하는 프로그램을 짜보려고 합니다. 지난글 보러가기 "실시간 RSI API Ubit Python Code" OBV란? On Balance Volume 으로 거래량 지표입니다. 조셉 그랜빌에 의해 탄생한 수식으로 매수세가 많으면 주가가 상승하고, 매도세가 많으면 하락한다는 원리와 더불어서 거래량은 주가에 대해 선행한다라는 원리로 만든 것입니다.즉 상승한 날의 거래량 합계 - 하락한 날의 거래량 합계로 이를 누적 집계한 뒤 도.. 2021. 9. 9.
[업비트] 실시간 RSI API Python Code upbit upbit macd upbit python code 업비트 오토트레이딩 macd macd 계산식 업비트 개발자 센터에서는 실시간으로 RSI 값을 제공하는 API가 없습니다. 대신 업비트에서 제공하는 시세 종목 조회 API를 이용해서 실시간 RSI 를 출력하는 프로그램을 짜보려고 합니다. 코인 종목 중 하나인 XRP로 테스트 해보겠습니다. 최근 캔들 200개의 정보를 가져오는 api를 이용한 코드는 다음과 같습니다. url = "https://api.upbit.com/v1/candles/minutes/1" querystring = {"market":"KRW-XRP","count":"200"} response = requests.request("GET", url, params=querystring.. 2021. 5. 2.
[Python] Selnium 화면 캡쳐하기 selenium, 스크린샷, selenium 화면 저장, selenium png, selenium 캡쳐 이번글에서는 python selnium chrome 창에서 화면 스크린샷을 png로 저장하는 방법에 대해 알려드리려고 합니다. 우선 화면 캡쳐의 경우 headless 모드에서 정상 작동합니다. headless 옵션을 걸지 않을 경우, 해상도 문제로 정상적으로 저장되지 않는 현상이 있습니다. 따라서 driver 실행전 option을 이용해 headless 모드를 설정합니다. [방식을 바꿔서 headless로 안해도됩니다.] chrome_options = Options() chrome_options.headless = True 그 다음 driver을 이용해 캡쳐하고 싶은 주소로 이동합니다. url = "h.. 2021. 2. 15.
[AWS S3] image python upload 코드 AWS S3 사용법과 python code로 업로드하는 방법을 알아보도록 하겠다. s3 버킷을 새로 만든다. 그 다음 다음과 같이 코드를 작성한다. pip install import boto3 from botocore.exceptions import NoCredentialsError ACCESS_KEY = 'xxxxxxxxxxxxxxxxxxxx' SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' def upload_to_aws(local_file, bucket, s3_file): s3 = boto3.client('s3', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY) try: print(s3.upl.. 2020. 9. 10.
쿠팡 Wing Login with python requests 쿠팡 판매자 Wing을 Python Requests를 이용하여 자동로그인을 만들어보려고 한다.로그인 화면은 다음과 같다. POST로 데이터를 보내는 것을 확인하였다.Request URL:https://wing.coupang.com/loginRequest Method:POSTusername:VENDOR,{coupang ID}password:{coupang PW}import requests headers = { 'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Whale/2.7.100.20 Safari/537.36' } data = { 'usernam.. 2020. 7. 23.
카카오톡 봇 만들기 1 카카오톡 봇 파이썬 카카오톡 봇 만들기 파이썬 이번 글에서는 Python을 이용해서 채팅 내용 인식으로 로또 번호를 제공해주는 카카오톡 봇을 만들도록 하겠다. spy++나 win32 가 처음이라면 PC 카카오톡 광고제거 글을 먼저 보고 오도록 하자. 우선 나와의 채팅창 이름을 메모장으로 바꾸었다. spy++를 이용하여 메모장을 찾아주도록 하자. Caption이 메모장이기 때문에 이를 이용해서 찾을 수 있다. import win32con,win32gui def kakaobot(): chattingroom = win32gui.FindWindow(None, "메모장") if __name__ == '__main__': kakaobot() 그 다음 채팅을 보내는 위치를 찾아야한다. RICHEDIT50W가 채팅입력.. 2020. 7. 19.
728x90