본문 바로가기

Algorithm706

[Brute Force] 백준 1759. 암호 만들기 - Python [ Contents ] 1. 문제 (링크 참조) 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 2. 문제 풀이 암호는 "오름차순"으로 서로 다른 L개의 알파벳 소문자들로 구성되며, 최소 한 개의 모음(a, e, i, o, u)과 최소 두개의 자음으로 구성되어 있습니다. 입력은 암호의 길이인 L과 사용 가능한 알파벳이 주어집니다. 단순히 길이가 L인 알파벳 나열이므로, 브루트 포스 접근법으로 풀이합니다. 2022.01.16 - [Algorithm] - [Algorithm] 브루트 포스(Brute Force)는 노가다 기법? .. 2022. 1. 17.
[Brute Force] 백준 10819. 차이를 최대로 - Python [ Contents ] 1. 문제 (링크 참조) 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 2. 문제 풀이 | A[0] - A[1] | + | A[1] - A[2] | + ... + | A[N-2] - A[N-1] | 주어진 N개의 정수를 임의의 순서대로 배열해서 최댓값을 구하는 문제입니다. 왠지 모르게 오름차순 정렬한 뒤에, | A[N-1] - A[0] | + | A[N-2] - A[1] | + ... 이런 식으로 하면 되지 않을까? 하는 생각을 했습니다. 하지만 절댓값의 합이니 | 음수 - 양수 | 또는 | 양수 -.. 2022. 1. 17.
[Algorithm] 브루트 포스(Brute Force)는 노가다 기법? [ Contents ] 1. 브루트 포스란? Brute(짐승 같은, 난폭한) + Force(힘, 폭력)의 합성어입니다. 무식하게 푸는 기법으로, '노가다'에 가까운 접근법입니다. 모든 경우의 수를 시험해보며 문제를 해결합니다. 브루트 포스 접근방법은 일상에서도 많이 사용합니다. 예를 들어, 자물쇠 비밀번호 4자리를 맞추기 위해 0000부터 9999까지 모두 시험해보는 것도 대표적인 '브루트 포스' 방식입니다. 2. 순열과 조합 경우의 수를 계산하다보니, 순열과 조합 기본지식이 필요합니다. 단순히 순서가 있는건 '순열', 순서가 없는 건 '조합'이라는 정도만 상기하시면 됩니다. 복잡한 수식을 외우지 않더라도, 이미 라이브러리로 구현되어 있습니다. 각 언어에서 지원하는 라이브러리를 불러오셔서 쓰시면 됩니다... 2022. 1. 16.
[Algorithm] 게시판 소개 문제해결을 위한 다양한 알고리즘들의 원리를 이해하고, 응용 예제를 살펴봅니다. 예제는 백준 온라인 저지에 있는 문제들을 활용할 예정입니다. 구현 수학 그리디 알고리즘 다이나믹 프로그래밍 그래프 이론 탐색론 . . . Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 알고리즘 예제 풀이에 사용되는 주 언어는 Python을 사용합니다. 2022. 1. 11.