Programming/Algorithm20 [구현 알고리즘] 시뮬레이션과 완전 탐색 해당 내용은 아래의 유투브를 보고 참고했음을 밝힙니다~ https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 구현 (Implementation) 구현이란, 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 아무리 알고리즘을 잘 세워도 그것을 코드로 만들지 않으면 동작하지 않음. 결국엔 모든 문제가 구현이지만, 특정 문제를 구현이라고 부르는 경우가 있음. 흔히 알고리즘 대회에서 구현 유형의 문제란? 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 예시 알고리즘은 간단한데 코드가 지나칠만큼 길어짐 실수 연산을 다루고, 특정 소수점 자리까지 출력하는 문제 문자열을 특정한 기준에서 따라서 끊어 처리해야 하는 문제 적절한 라이브러리를 찾아서 사용해야 하는 문제 ex) 모.. 2024. 2. 5. [그리디 알고리즘] - 문제: 모험가 길드 https://www.youtube.com/watch?v=2zjoKjt97vQ&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=2&t=1s 출처: 동빈나 유투브 다음의 강의를 참고했음을 밝힙니다. 모험가 길드 더보기 내가 작성한 코드 n = input() values = list(map(int, input().split())) # print(values) values.sort() print(values) #%% md * 오 이번 문제는 뭔가 감이 오지 않는다. * 최대 공약수도 아니고 최소 공배수도 아닌.. 이걸 컴퓨터로 풀 수 있는 문제인가? 하는 생각이 들었다. * 여행을 떠날 수 있는 그룹의 최대수라고 하면, 가장 큰 수를 기준으로 다 넣은 다음에 개수를 구해야 하.. 2024. 2. 5. 대기업 코딩테스트 준비 본 포스팅은 동빈나님의 유투브를 참고해서 작성했음을 밝힙니다. https://youtu.be/m-9pAwq1o3w?si=NtUEyiUNun6zqc1o Python/C++ 기본 문법 → 코드업 기초 100제 → BOJ 그리디/탐색 유형 문제 풀이 → 특정 기업 대상의 기출 문제 풀이 - 코드업: http://codeup.kr/ CodeUp ☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks DEV C++ ☆ 추천 온라인 IDE : C C++11 Python3 Java ☆ 채점 가능 언어 : C, C++, JAVA, Python 3.8, PyPy3 ★ C++로 제출시 void main()을 사 codeup.kr - BOJ: https://www.acmicpc.net/ Baekj.. 2024. 2. 1. [그리디 알고리즘] 문제 - 곱하기 또는 더하기 https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 곱하기 또는 더하기 문제 설명 n = input() list = [int(char) for char in n] number = 1 cnt = 0 # 1. 0이 없을 때 # 2. 처음에 0이 있을 때 # 3. 중간에 0이 있을 때 # 4. 마지막에 0이 있을 때 for num in list: # print(num) cnt += 1 if num == 0: pass elif num == 1: number += num else: number *= num print(number) 해결 아이디어 대부분의 경우 +보다는 *가 더 값을 크게 만듦 다만 두 수 중에서 하나라고 0이거나 1인 경우, 곱하기 보다는 더하기를 수행하는 것이.. 2024. 1. 30. 그리디 알고리즘 개요 해당 내용은 아래의 유투브를 보고 참고했음을 밝힙니다~ https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 그리디 알고리즘 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구 그리디 해법은 그 정당성 분석이 중요 단순히 가장 좋아보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 합이 가장 큰 경우: 5 -> 7 -> 9 (21) 매 상황에서 가장 큰 값: 5 -> 10 -> 4 (19) => 그리디는 단순히 매 상황에서 가장 큰 값만 구하는 것이기 때문에 19가 답이 됨. 일반적인 상황에서 최적의 해를 보장할 수 없을 때가 많음 코딩 테스.. 2024. 1. 30. [그리디알고리즘] 문제 - 1이 될 때까지 https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 1이 될 때까지 문제 해결 아이디어 주어진 N에 대하여 최대한 많이 나누기를 수행 N의 값을 줄일 때 2이상의 수로 나누는 작업이 1을 빼는 작업보다 수를 훨씬 많이 줄일 수 있음 1이 될 때까지: 정당성 분석 가능하면 최대한 많이 나누는 작업이 최적의 해를 항상 보장하는가? N이 아무리 큰 수여도, K로 계속 나눈다면 기하 급수적으로 빠르게 줄임 다시 말해 K가 2 이상이기만 하면, K로 나누는 것이 1을 빼는 것보다 항상 빠르게 N을 줄일 수 있음. 또한 N은 항상 1에 도달하게 됨 (최적의 해 성립) # 1이 될 때까지 #%% n = 17 k = 4 while n != 1: if n % k != 0: n -= 1.. 2024. 1. 30. 이전 1 2 3 4 다음