목록Algorithm (45)
Hippo's data
프로그래머스(Programmers) 체육복 문제 난이도 : Level 1 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -> greedy 탐욕법 알고리즘 이용 def solution(n, lost, reserve): # 인덱싱 쉽게 하기 위해 전체 학생수 +2 만큼 1이 들어있는 리스트 생성 num = [1] * (n+2) # 체육복 없는 학생 -1 for i in lost: num[i] -= 1 # 여분 체육복 있는 학생 +1 for i i..
프로그래머스(Programmers) 피보나치 수 문제 난이도 : Level 2 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def fibo(n): if n 같은 계산을 여러 번 반복 -> 시간 복잡도가 지수적(O(2^n))으로 증가 시간복잡도를 줄여서 더 효율적인 for문을 사용해서 구현해 보았습니다! def fibo(n): a, b = 0, 1 for i in range(n): a, b = b, a + b return a def solut..
오늘은 재귀 알고리즘(recursive algorithms)에 대해 알아보겠습니다 재귀 알고리즘에서 재귀적(recursive)이란 것은 무엇을 의미할까요? 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 것을 의미하는데욥 왜 굳이 자기 자신을 호출하면서 문제를 해결하는가? -> 많은 종류의 문제들이 재귀적으로 (recursively) 풀리기 때문 -> 경우에 따라서 재귀 알고리즘 사용시 수월하게 해결 가능( 하노이탑 문제 ) 아래는 다양한 문제를 재귀적으로 구현한 것들입니다! 1부터 n까지의 자연수 합 def hap(n): if n 같은 함수를 여러번 호출하여 계산 -> 비효율적
프로그래머스(Programmers) 가장 큰 수 문제 난이도 : Level 2 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(numbers): answer = '' numbers = list(map(str, numbers)) numbers.sort(key = lambda x: x[0],reverse=True) if numbers[0] == '0': answer = '0' else: answer = ''.join(numb..
The End 끝이 났다 지난 5주간의 백준 장학금 도전기가 끝이 났다 나는 빅리더 프로그램과 병행했기 때문에 온전히 알고리즘에 집중할 수 없었던 것이 아쉬움에 남는다 하지만 지난 5주간의 노력을 통해 코린이 였던 나는 코소년(코딩 청소년)으로 조금은 성장 것 같다? 사실 아직 멀었다 ㅎㅎㅎ 알고리즘 문제를 처음 접했던 나, 이제는 간단한 실버정도 난이도의 문제는 풀 수 있다구... 목표 달성점검 1주차에 정한 목표 세가지는 1일 1문제 백준 문제 풀기, 블로그에 주1회 공부내용 기입, 백준 골드 등급 달성이였다 1일 1문제 백준 문제 풀기 하.. 저 빈칸하나 어떻게 안되려나 그래도 수고했다... 초록초록한 잔디밭 성공적 블로그에 주1회 공부내용 기입 https://hipposdata.tistory.co..
비상 飛上 비상, 날아오르다 왜 이런 단어를 가져왔는가 사실 별의미없다 날고싶다 날개를 활짝 펼치고 언젠간 코린이에서 코른이로 날아오르겠지 뭔소릴 하는거야 그냥 멋있는말 써보고 싶었다 ㅋ 저번주에 무너졌던 내자신 목표로 했던 것들을 지키지 못했다 다시 마음을 다잡고 다행히 이번주엔 목표를 완주했다 아기 원래 넘어지는 법 다시 일어나야지 다시 한발짝 내딛어야지 그래야 뛸수도 있거든 🏃 목표점검 1일 1문제 백준 풀기 장하다 저 빈 한칸만 채워줄래? 블로그에 주1회 공부내용 기입 https://hipposdata.tistory.com/14 소수 찾기 - 에라토스테네스의 체 오늘은 소수 찾기 알고리즘에 대해 포스팅 하겠다!! 소수란 무엇일까? 자연수를 분류하자면 1, 소수, 합성수로 나뉜다. 소수(prime ..
오늘은 소수 찾기 알고리즘에 대해 포스팅 하겠다!! 소수란 무엇일까? 자연수를 분류하자면 1, 소수, 합성수로 나뉜다. 소수(prime number) = 약수로 1과 자기자신만을 가지는 수 = 약수를 2개만 가지는 수 예) 2,3,5,7,9 ... -> 1과 자기자신을 제외한 자연수로 나누어 떨어지지 않음 합성수(composition number) = 약수로 1과 자기자신 이외의 수를 가지는 수 = 약수를 3개 이상 가지는 수 예) 4,6,8,10 ...소수 찾기를 간단한 코드로 구현하면 시간복잡도는 약 O(n)을 가지게 된다즉, 소수를 찾을 때 약 n번을 나누며 확인해야 하므로 시간복잡도가 클 수 있다 이를 보완한 방법이 에라토스테네스의 체(Eratosthenes' Sieve)이다. #..
초심 初心 벌써 3주차가 지났다 나는 초심을 잃었다 물론 빅리더 인턴쉽 프로그램의 영향도 있겠지만 알고리즘과 오늘부터 1일이라던 나 어디갔누 알고리즘공부는 뒷전이 되고 결국 처음에 목표로 했던 1일 1문제 업로드에 실패했다 다시마 음을 붙잡자 초심을 잡자 목표점검 1일 1문제 백준 풀기 하.... 아침에 일어나서 후딱 풀고 올려야지 했는데 어림도 없지 다시 시작하자 블로그에 주1회 공부내용 기입 https://hipposdata.tistory.com/12 유클리드 호제법 - 최대공약수GCD, 최소공배수LCM 구하기 백준 문제를 풀다보면 공약수, 공배수를 활용하는 문제들을 찾아볼 수 있다. 그중 최대 공약수GCD(Greatest Common Divisor), 최소 공배수LCM(Least Common Mul..