전체 글76 BOJ 2231 분해합 문제링크 : https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 요약 자연수 N을 입력했을때 [N = M(자연수)+ M을 이루는 각자리수의 합]이 성립하는 M을 구하여라. 풀이 자연수 N의 분해합은 당연히 N보다 클수 밖에 없다. 그러므로 입려한 N의 생성자는 N보다 작을 것이다. N의 최대크기가 1,000,000이므로 1부터 전부다 확인해봐서 가장 처음으로 조건이 성립할때 break해주고 출력해준다. 조건을 만조하는 .. 2022. 3. 9. BOJ 2309 일곱난쟁이 문제링크 : https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 요약 9명의 난쟁이중 키의 합이 100이되는 7명을 뽑아 오름차순으로 출력 풀이 7명의 난쟁이의 키의 합을 100으로 맞춰야 하니깐 전체 난쟁이의 키의 합에서 100을 뺀만큼의 수를 두명의 난쟁이로 맞춰도 된다. -> 9C7 = 9C2 , 주의해야 할점은 스페셜저지 문제는 정답이 여러개가 나올수가 있기때문에 그중에 한개만 출력하면 정답처리된다. 그래서 조건에 맞는 2명의 난쟁이를 최초로 찾으면.. 2022. 3. 9. 완전탐색(exhaustive search) : Brute-force 완전 탐색(exhaustive serach)은 말 그대로 '모든 경우의 수를 찾아서 답을 찾는 방법'이다. 가장 강력하고 확실한 방법이지만 시간이 가장 오래 걸리는 탐색 기법이다. 완전 탐색의 종류 Brute-force 비트 마스크 순열 백트래킹 DFS, BFS 완전 탐색 자체는 알고리즘이 아니기 때문에 완전 탐색기법을 사용하기 위해서 여러 가지 알고리즘이 이용된다. 오늘은 이 중에서 Brute-force만 다룰 것이다. Brute-force란? '무식한 힘' 뜻 그대로 무식하게 푸는 기법이다. 어떠한 특정한 기법을 사용하지 않고 단순히 for문 if문 등으로 모든 케이스를 만들어 답을 만들어 구한다. 어떤 경우에 사용할까? 보통 완전 탐색 문제는 난이도가 쉬운 편이다. 하지만 미쳐 생각지도 못했던 난이.. 2022. 3. 9. 시간 복잡도 & 빅오표기법 친구를 만나기 위해 약속 장소를 찾아가는 상황을 생각해보자. 나머지 비용은 같다는 가정하에 목적지까지 1시간이 걸리는 경로와 30분이 걸리는 경로가 있다면 30분이 걸리는 경로를 선택할 것이다. 우리에게 시간은 소중하기에 효율적으로 사용하기 위한 노력을 의식적으로 하고 있는 것이다.컴퓨터 프로그래밍도 마찬가지다. 어떤 경로를 통해 약속장소로 가는 과정을 컴퓨터 프로그래밍에선 알고리즘이라고 말한다. 이때 도출할수 있는 여러 과정 중에 가장 빠르게 수행할 수 있는 알고리즘을 선택한다면 더 좋은 프로그램을 만들 수 있을 것이다. 알고리즘(Algorithm) 어떠한 문제를 해결하기 위한 여러 동작들의 모임 [알고리즘에 관한 더 자세한 설명[위키피디아\]]: https://ko.wikipedia.org/wiki/.. 2022. 3. 9. 이전 1 ··· 10 11 12 13 다음