본문 바로가기

728x90

분류 전체보기

(68)
[완전탐색 알고리즘] #1 백준 일곱 난쟁이 (파이썬,2309번) 문제 링크2309번: 일곱 난쟁이 (acmicpc.net)알고리즘 설명[알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python (tistory.com) [알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python완전 탐색 알고리즘(Brute Force)어떤 알고리즘일까?완전 탐색 알고리즘은 조건문이나 반복문을 통해 가능한 모든 경우의 수를 탐색하여 원하는 값을 구하는 알고리즘을 말한다. 알고리즘 설계의juyear-coding.tistory.com문제 설명이 문제는 완전탐색 알고리즘을 이용하여 모든 경우의 수를 탐색하는 방식으로 풀었다. 먼저 9명의 난쟁이 중에서 7명의 난쟁이의 키를 더했을 때 조건을 만족시키면 된다.9명에..
[알고리즘 공부] #3 재귀(Recursive) 알고리즘 with Python 재귀 알고리즘(Recursive)어떤 알고리즘일까?재귀 알고리즘은 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 알고리즘을 말한다.위에 사진은 재귀 함수의 작동 방식을 간단한 예제를 활용하여 나타낸 것이다. 사진을 보면 알 수 있듯이 원하는 값을 얻을 때까지 자기 자신을 다시 호출하는 것을 알 수 있다. 장점과 단점장점재귀 알고리즘은 문제를 작은 단위의 하위 문제로 분활하고, 해당 하위 문제의 해결에도 동일한 알고리즘을 반복적으로 사용함으로 코드가 간결하고 유연성이 높다는 장점이 있다.단점재귀 알고리즘은 원하는 값이 나올 때까지 자기 자신을 계속 호출하는 것이기 때문에, 너무 많이 호출할 경우 코드의 속도 저하나 메모리 과다 사용 문제가 발생할 수 있다. 언제 사용하는가?재귀적 구조를 가진 ..
[알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python 백트래킹 알고리즘(BackTracking)어떤 알고리즘일까?백트래킹 알고리즘은 비선형으로 구성된 자료 구조를 깊이 우선으로 탐색할 때, 더 이상 탐색할 수 없는 상황에서 이전 단계로 돌아가는 알고리즘을 말한다.위에 사진을 보면 4번 자료까지 탐색한 후 더 이상 탐색할 길이 없어 2번 자료로 돌아가는 것을 알 수 있다. 이런 알고리즘을 백트래킹 알고리즘 이라고 한다. 장점과 단점장점백트래킹 알고리즘은 발생 가능한 모든 경우의 수를 탐색하기 때문에 100%확률로 조건에 맞는 값을 구할 수 있다는 장점이 있다.단점백트래킹 알고리즘도 완전 탐색 알고리즘의 일부분으로써 모든 경우의 수를 탐색해야 한다는 점에서 데이터의 양이 많아지면 시간이 오래 걸리고 비효율적이라는 단점이 있다.언제 사용하는가?탐색문제그래프나 트..
[알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python 완전 탐색 알고리즘(Brute Force)어떤 알고리즘일까?완전 탐색 알고리즘은 조건문이나 반복문을 통해 가능한 모든 경우의 수를 탐색하여 원하는 값을 구하는 알고리즘을 말한다. 알고리즘 설계의 가장 기본적인 접근 방법은 값이 존재할 것으로 예상되는 모든 영역을 전체 탐색하는 방법이다. 이러한 접근 방법을 생각해볼 때 완전 탐색 알고리즘은 알고리즘의 기본이라고 볼 수 있다. 장점과 단점장점완전 탐색 알고리즘의 장점은 발생 가능한 모든 경우의 수를 탐색하기 때문에 100%확률로 조건에 맞는 값을 구할 수 있다는 점이다.단점완전 탐색 알고리즘의 단점은 발생 가능한 모든 경우의 수를 탐색하기 때문에 탐색할 영역이 크거나 복잡한 문제를 해결할 때는 코드가 비효율적이고 느릴 수 있다. 언제 사용하는가? 탐색할 영..
[Python 프로젝트] 라이엇 게임즈 자동 로그인 프로그램 - Selenium, Pyautogui, webdriver 프로젝트 설명 안녕하세요! 이제 대학생이 된.. 더이상 고등학생 개발자가 아닌 대학생 개발자가 된 주이어입니다. 이번에 만든 프로젝트는 python을 해보셨다면 누구나 알만한 모듈인 selenium을 사용해서 만든 프로젝트 입니다. 바로 '라이엇 게임즈 자동 로그인 프로그램' 입니다! 이 프로그램을 만들게 된 이유는 라이엇 게임즈 사이트에 들어갈 때 마다 다시 로그인을 해줘야 하는게 불편해서 만들게 됐습니다.(자동 로그인을 해도 왠지 모르게 들어갈때 마다 다시 로그인을 해야 하는 경우가 많았음..) 또 2차 인증까지 해놔서 메일 켜서 번호 보고 입력하는게 그렇게 귀찮을 수 없습니다. 코드상세 설명 모듈 import 1 2 3 4 5 6 from selenium import webdriver from se..
[Python 프로젝트] 자동으로 투표 주제를 올려주는 디스코드 봇 프로젝트 설명안녕하세요. 곧 대학생이 되는 고등학생 개발자 주이어입니다. 오늘 보여줄 프로젝트는 '자동으로 투표 주제를 올려주는 디스코드 봇' 입니다. 이 봇은 정해진 시간에 자동으로 투표 주제를 올려주는 데요.예를 들어서 "월 600만원 직장인 VS 월 200만원 백수" 또는 "짜장면 VS 짬뽕" 이런식으로 의견이 갈릴만한 주제를 올려주게 됩니다. 이 봇을 만든 이유는 디스코드에 새로운 이야깃거리를 주면서 디스코드 서버 참여자들의 활동률을 높이기 위해서 입니다.  코드상세 설명기본 CODE12345678910111213141516import discordimport timefrom datetime import datetimeimport random  intents = discord.Intents.def..
[Python 프로젝트] Chat GPT API를 이용한 디스코드 봇 프로젝트 설명안녕하세요. 고등학생 개발자 주이어입니다. 오늘 보여드릴 프로젝트는 'Chat GPT API'를 이용한 디스코드 봇 입니다. 프로젝트 이름 그대로, Chat GPT API를 사용해 디스코드 내에서 봇을 통해 Chat GPT를 이용할 수 있는 봇을 만드는 프로젝트 입니다. 디스코드 봇을 제작하는 데에는 'Python'과 'Discord'모듈을 이용해 제작하였습니다. 코드상세 설명기본 CODE123456789101112131415from openai import OpenAIimport discordimport random client = OpenAI()token = 'MTE1MzY2Njk0NTU3NzY2MDQyNw.GF_jLM.wZtGOZs7lxbYbhVGdGmdTayac0giEv3gDkqDL8..
[Python 프로젝트] 공부를 도와주는 디스코드 봇 프로젝트 프로젝트 설명안녕하세요. 고등학생 개발자 주이어입니다. 오늘 소개할 프로젝트는 제가 고등학교 1학년 때 만든 공부를 도와주는 디스코드 봇입니다. 작동 방식은 사용자가 추가한 문제들 중에서 랜덤으로 뽑아 문제를 출제하고 답을 입력하면 맞았는지 틀렸는지를 알려주는 봇입니다. 만들게 된 계기는 고등학교 1학년 때 암기과목이 많아서 조금 더 효율적으로 공부할 수 있는 방법이 없을까 고민하던 중에 평소에 자주 사용하는 디스코드에 이러한 봇을 만든다면 틈틈히 공부를 할 수 있겠구나 라는 생각이 들어 만들게 되었습니다. 봇 제작은 'Python'과 'Discord'모듈을 이용해서 제작하였습니다. 코드상세 설명기본 CODE1234567891011121314151617181920212223import discordimp..

728x90