Python

    [ Python ] 유용한 라이브러리 정리

    itertools 반복되는 형태의 데이터 처리에 유용 특히 순열과 조합 라이브러리가 유용함. 순열 서로 다른 n개에서 서로 다른 r개를 뽑아 순서대로 나열 from itertools import permutations data = ['A', 'B', 'C'] result = list(permutations(data, 3)) print(result) #[('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), # ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')] 중복 순열 from itertools import product data = ['A', 'B', 'C'] result = list(product(data, repeat=2)..

    [ Genetic Algorithm ] 유전 알고리즘을 통해 비밀번호를 뚫어보자!

    이번 포스팅에서는 유전 알고리즘을 통해 비밀번호를 찾는 알고리즘이다. 그전에 유전 알고리즘에 대해서 간략하게 설명을 하자면 다음과 같다. 말 그대로 유전 즉, 세대가 존재한다는 뜻이다. 이게 무슨 뜻이냐... 우선 랜덤으로 최초의 아이들을 생성한다. 그리고 그 생성된 아이들을 가지고 fitness (성능)을 측정한다. 성능을 측정할 때 적절한 점수를 부여하여 만약 점수가 높다면 해당 아이들을 선발해 낸다. 그리고 선발된 아이들을 교배하여 다음 세대를 만들어낸다. 그 과정에서 돌연변이도 추가하여 다음 세대를 만들어 내고 또 태어난 자식들을 가지고 성능을 측정하여 위의 과정을 계속 반복하여 수 세대를 걸쳐서 답을 도출해 내는 것이 유전 알고리즘이다. 그렇다면 파이썬으로 유전 알고리즘을 구현해보자. 함수가 많..

    [ python ] 프로그래머스: 수박수박수박수박수?

    안녕하세요? 수구리입니다. 이번 문제는 프로그래머스 문제를 가져왔습니다. 가볍게 문제부터 보고 오시면 될 것 같습니다!! 문제는 수박이라는 문자를 길이가 n만큼 만들어주면 됩니다! n이 짝수라면 ' ~~ 수박 '으로 끝나고, n이 홀수라면 ' ~~ 수 ' 로 끝나겠죠?? [ 문제 ] 프로그래머스: 수박수박수박수박수? https://programmers.co.kr/learn/courses/30/lessons/12922?language=python3 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 progr..

    [ python ] 프로그래머스: 문자열 내림차순 정렬

    안녕하세요? 수구리입니다. 이번 포스팅으로 풀어볼 문제는 프로그래머스의 문제인 문자열 내림차순 정렬입니다. 아래에 문제 링크 해두었으니 문제를 한번 읽고 와주시기 바랍니다! [ 문제 ] Level1: 문자열 내림차순 정렬 https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr [ 나의 풀이 ] def solution(s): answer = '' res = [] for c in s: res..

    [ python ] 백준 2839: 설탕 배달

    안녕하세요? 수구리입니다. 이번 포스팅은 파이썬으로 그리디 문제를 풀어보려고 합니다. 그리디 알고리즘은 매 순간마다 이름처럼 가장 탐욕스러운 선택을 하는 알고리즘입니다. 하지만 이 알고리즘은 최적의 해를 찾는다는 보장은 하지 못합니다. 설탕 배달 문제는 아래 링크에 있으니 확인해주세요. [ 문제 ] 백준 2839: 설탕 배달 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net [ 나의 풀이 ] # date : 2021.11.12 # problom : 2839..