본문 바로가기
반응형

Algorithm13

[ BOJ ] 백준 2805 - 나무 자르기(파이썬 문제 풀이) 문제 링크 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 이분 탐색 나무 자르기 문제 입니다. M미터의 나무의 값을 찾기위해 시작값과 끝값의 범위를 중간값을 기준으로 확장, 축소하며 M미터가 가능한 최소값을 찾았습니다. 문제 풀이(파이썬) import sys N, M = map(int, input().split()) tree = list(map(int, input().split())) res = 0 lt = 0 rt = max(tree) mid = 0 while lt+.. 2021. 3. 14.
[ BOJ ] 백준 2512 - 예산(파이썬 문제 풀이) 문제 링크 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 이분 탐색으로 풀 수 있는 예산 문제 입니다. 가능한 예산 중 최대값을 찾기위해 시작 값, 끝 값을 나누어 중간 값으로 범위를 확장, 축소하여 문제를 풀이했습니다. 문제 풀이(파이썬) N = int(input()) req = list(map(int, input().split())) M = int(input()) lt = 1 rt = max(req) res = 0 while lt mid: res_tmp += mid else: res_tmp += r.. 2021. 3. 14.
[ BOJ ] 백준 2750 - 수 정렬하기(파이썬 문제 풀이) 문제 링크 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 풀이(파이썬) 정렬의 기본 문제입니다. 버블 정렬, 삽입 정렬 등으로 풀 수도 있지만 저는 퀵 정렬을 이용해 문제를 풀어봤습니다. 수를 리스트로 입력받고 Qsort 함수에 시작 인덱스, 끝 인덱스를 인자값으로 넘겨주면 퀵 정렬 알고리즘을 수행하도록 구성했습니다. 피벗값은 입력받은 숫자열의 마지막 값으로 지정하였습니다.  import sys sys.setrecursionlimit(10**6) def Qsort(lt, rt): if lt < rt: p.. 2021. 3. 13.
[ Algorithm ] 온라인 코딩 테스트 준비하기(온라인 코딩 테스트 사이트, 온라인 개발 환경, 복잡도란) 코딩 테스트란? 기업/기관에서 지원자 수가 많을 때 효과적으로 선별하기 위한 채용 과정 소규모 프로그램을 개발하거나 알고리즘 문제 풀이 등이 있음 대부분 공채에서는 알고리즘 코딩 테스트를 본다. 코딩 테스트는 뛰어난 프로그래밍 실력을 요구하는 것이 아닌 실제 개발에서 사용될 법한 구현 기법들을 통해 문제 해결 능력을 평가하는 것 코딩 테스트에서 대부분 상위 5% 미만의 사람만이 모든 문제를 풀 수 있으며 전체 문제 중 절반 이상을 정확하게 해결하면 합격할 수 있다. 대회 입상이 목표가 아니면 고급 알고리즘까지 공부할 필요는 없다. 정답을 맞추는 것도 중요하지만 어떤 방법으로 문제에 접근해 어떤 알고리즘을 사용했는지 설명할 수 있어야 한다. 온라인 코딩 테스트 준비 사이트 1. 코드업 알고리즘을 잘 모르거.. 2020. 10. 21.
반응형