분류 전체보기(43)
-
[리뷰] 그리디 - 곱하기 혹은 더하기
github.com/ndb796/python-for-coding-test ndb796/python-for-coding-test [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 소스코드 저장소입니다. - ndb796/python-for-coding-test github.com 문제는 책을 사서 읽으시길... 소스코드를 보면 문제를 역으로 유추를 가능하지만 암튼 그렇습니다. 암튼 이번 그리디 문제는 더할것인지 곱할것인지 선택하는 문제입니다. 0과 1을 입력받으면 최대값을 만들 수 없기에 더하고, 나머지는 곱하면 됩니다. 여기서 우리는 string을 순회하면서 result = 0으로 초기화된 값에 더할것인지 곱할것인지 선택하면 된다. 하지만 여기서 함정은 result 가 0 혹은 1이..
2020.10.04 -
[리뷰] 그리디 - 모험가 길드
github.com/ndb796/python-for-coding-test ndb796/python-for-coding-test [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 소스코드 저장소입니다. - ndb796/python-for-coding-test github.com 제한시간은 30분을 준다. 코드는 간결하지만 생각을 조금 해야 문제를 풀 수 있다. 때로는 문제의 설명글이 도움을 주지만 때로는 사람을 낚을 수도 있다. 파이썬 import sys n = int(input()) horror_list = list(map(int,sys.stdin.readline().rstrip().split())) horror_list.sort() i =0 result = 0 cnt = 0 /*..
2020.10.03 -
[리뷰] 그리디 - 1이 될때까지
github.com/ndb796/python-for-coding-test ndb796/python-for-coding-test [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 소스코드 저장소입니다. - ndb796/python-for-coding-test github.com 이 문제는 유튜브에도 올라와 있으니 참고하세요. 그럼 코드 시작 n의 범위에 따라 문제 풀이 방식의 팁 O(n^3) : 500 O(n^2) : 2,000 O(nlogn) : 100,000 O(n) : 10,000,000 O(logn) : 10,000,000,000 이상 파이썬 : 직관적으로 푸는 법 import sys n, k = map(int, sys.stdin.readline().rstrip().split..
2020.10.03 -
[리뷰]그리디 - 숫자 카드 게임
문제는 생략하고 답이나 적자. 해설은 책 or 깃허브 링크를 통해 확인하자. github.com/ndb796/python-for-coding-test ndb796/python-for-coding-test [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 소스코드 저장소입니다. - ndb796/python-for-coding-test github.com python : 파이썬은 리스트를 한번에 받는 기능이 있어서 2중for문을 쓰지 않고도 코드를 짤 수 있다. import sys n, m = map(int, sys.stdin.readline().rstrip().split()) result =[] for _ in range(n): arr = list(map(int,sys.stdin.r..
2020.10.03 -
[리뷰]그리디 - 큰수의 법칙
github.com/ndb796/python-for-coding-test ndb796/python-for-coding-test [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 소스코드 저장소입니다. - ndb796/python-for-coding-test github.com 책을 받아서 공부용으로 코드를 정리합니다. 파이썬 import sys n,m,k = map(int, sys.stdin.readline().rstrip().split()) narr = list(map(int,sys.stdin.readline().rstrip().split())) narr.sort() first = narr[-1] second = narr[-2] result = 0 p = m // (k+1) q ..
2020.10.02 -
그리디 알고리즘
그리디 알고리즘 = 현재 상황에서 지금 당장 좋은 것만 고르는 방법. 코테에서는 그리디 문제를 풀기 위해 최소한의 아이디어가 필요하다. 그리고 이러한 아이디어가 타당성이 있는지 검토를 해야한다. 코테에서의 그리디 문제는 그리디 알고리즘을 통해 얻은 해가 가장 최적이기 때문에 출제자의 의도를 파악하고 그리디하게 문제를 풀자. 대표적으로 거스름돈 문제를 보자. 거스름돈 문제 (500, 100, 50, 10) 해법 : 가장 큰 화폐 단위부터 돈을 거슬러 준다. 1. 동전들 중 큰 단위가 항상 작은 단위의 배수이다. 2. 작은 단위의 동전로 아무리 조합을 해도 큰 단위를 포함했을 때보다 최적인 상태를 만들 수 없다. 따라서 그리디하게 생각하고 이를 뒷받침해줄 근거를 찾는것이 중요하다. # include usin..
2020.09.30