[알고리즘] (10) 썸네일형 리스트형 [백트래킹 알고리즘] #2 백준 N과 M (2) (파이썬,15650번) 문제 링크15650번: N과 M (2) (acmicpc.net) 알고리즘 설명[알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python [알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python백트래킹 알고리즘(BackTracking)어떤 알고리즘일까?백트래킹 알고리즘은 비선형으로 구성된 자료 구조를 깊이 우선으로 탐색할 때, 더 이상 탐색할 수 없는 상황에서 이전 단계로 돌아가는 알고juyear-coding.tistory.com 문제 설명이번 백트래킹 알고리즘 문제는 저번 알고리즘 문제와 거의 비슷하다.N과 M을 입력받은 후, 1부터 N까지 M개의 숫자로 이루어진 조합을 찾으면 되는 문제이다.저번과 다른점이 있다면, 저번에는 (1, 2) (2, .. [백트래킹 알고리즘] #1 백준 N과 M (1) (파이썬,15649번) 문제 링크15649번: N과 M (1) (acmicpc.net) 알고리즘 설명2024.06.02 - [[알고리즘]/[알고리즘 공부]] - [알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python [알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python백트래킹 알고리즘(BackTracking)어떤 알고리즘일까?백트래킹 알고리즘은 비선형으로 구성된 자료 구조를 깊이 우선으로 탐색할 때, 더 이상 탐색할 수 없는 상황에서 이전 단계로 돌아가는 알고juyear-coding.tistory.com 문제 설명먼저 백트래킹 알고리즘은 기본적으로 탐색할 수 없을 때 까지 탐색한 후, 더 이상 탐색하지 못 할 경우 이전 단계로 돌아가는 알고리즘을 말한다.따라서 .. [완전탐색 알고리즘] #3 백준 날짜 계산 (파이썬,1476번) 문제 링크1476번: 날짜 계산 (acmicpc.net) 알고리즘 설명[알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python [알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python완전 탐색 알고리즘(Brute Force)어떤 알고리즘일까?완전 탐색 알고리즘은 조건문이나 반복문을 통해 가능한 모든 경우의 수를 탐색하여 원하는 값을 구하는 알고리즘을 말한다. 알고리즘 설계의juyear-coding.tistory.com 문제 설명문제에 주어지는 조건에 따라 E,S,M을 입력받고, 반복문을 사용하여 E,S,M이 나오기 위해서는 몇년이 지나야하는지 확인하여 문제를 해결했다.123456789101112131415161718E,.. [완전탐색 알고리즘] #2 백준 사탕 게임 (파이썬,3085번) 문제 링크3085번: 사탕 게임 (acmicpc.net) 알고리즘 설명[알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python [알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python완전 탐색 알고리즘(Brute Force)어떤 알고리즘일까?완전 탐색 알고리즘은 조건문이나 반복문을 통해 가능한 모든 경우의 수를 탐색하여 원하는 값을 구하는 알고리즘을 말한다. 알고리즘 설계의juyear-coding.tistory.com 문제 설명이 문제는 완전 탐색 알고리즘을 활용하여 풀 수 있다. 먼저 N x N 크기의 사탕이 주어지고, 사탕의 색이 다른 인접한 두 사탕의 위치를 바꾼다.그 후 같은 색으로 이루어져 있는 가장 긴 연속 .. [알고리즘 공부] #5 큐 알고리즘(Queue) 알고리즘 with Python 큐 알고리즘(Queue)어떤 알고리즘일까?큐 알고리즘은 자료구조 알고리즘으로 먼저 들어간 값이 먼저 나온다고 해서 First In First Out 즉 FIFO또는 나중에 들어간 값이 나중에 나온다고 해서 Last In Last Out 즉 LILO 구조를 가지고 있다고 말한다. 큐 알고리즘은 위에 사진으로 이해하는 것이 쉽다. 사진을 보면 알 수 있듯이 젤 먼저 1이 들어오고 그 다음으로 3과 21이 들어온다. 그리고 나서 값이 나오는 걸 볼 수 있는데 가장 먼저 들어온 1이 나오고 그 다음으로 3이 나오고 마지막으로 21이 나오는 것을 알 수 있다. 이런식으로 큐는 아까 말한 FIFO(LILO) 구조를 가지고 있다. 장점과 단점장점큐는 데이터가 입력된 순서대로 처리되므로, 순서가 중요한 작업에서 유용한.. [알고리즘 공부] #4 비트마스크(BitMask) 알고리즘 with Python 비트마스크(BitMask)어떤 알고리즘일까? 비트마스크 알고리즘은 이진수를 사용하는 컴퓨터의 연산 방식을 이용하여, 정수의 이진수 표현을 자료 구조로 쓰는 알고리즘을 말한다. 주로 효율적인 집합 연산을 수행하거나 상태를 관리할 때 사용된다. 장점과 단점장점비트마스크 연산은 bit 연산이기 때문에 시간복잡도가 O(1)인 경우가 많다. 따라서 다른 자료구조를 이용하는 것보다 훨씬 빠르게 작동한다.다양한 집합 연산들을 비트연산자로 한 줄로 작성할 수 있기 때문에 코드가 간결해진다.더 적은 메모리로 훨씬 많은 경우의 수를 표현할 수 있어서 메모리 관리에 좋다. 단점이진수로 된 비트 연산을 이해하고 읽는 것이 직관적이지 않아 가독성이 떨어질 수 있다.비트마스크를 사용한 코드의 디버깅이 어렵다. 비트 연산을 수행할.. [완전탐색 알고리즘] #1 백준 일곱 난쟁이 (파이썬,2309번) 문제 링크2309번: 일곱 난쟁이 (acmicpc.net)알고리즘 설명[알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python (tistory.com) [알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python완전 탐색 알고리즘(Brute Force)어떤 알고리즘일까?완전 탐색 알고리즘은 조건문이나 반복문을 통해 가능한 모든 경우의 수를 탐색하여 원하는 값을 구하는 알고리즘을 말한다. 알고리즘 설계의juyear-coding.tistory.com문제 설명이 문제는 완전탐색 알고리즘을 이용하여 모든 경우의 수를 탐색하는 방식으로 풀었다. 먼저 9명의 난쟁이 중에서 7명의 난쟁이의 키를 더했을 때 조건을 만족시키면 된다.9명에.. [알고리즘 공부] #3 재귀(Recursive) 알고리즘 with Python 재귀 알고리즘(Recursive)어떤 알고리즘일까?재귀 알고리즘은 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 알고리즘을 말한다.위에 사진은 재귀 함수의 작동 방식을 간단한 예제를 활용하여 나타낸 것이다. 사진을 보면 알 수 있듯이 원하는 값을 얻을 때까지 자기 자신을 다시 호출하는 것을 알 수 있다. 장점과 단점장점재귀 알고리즘은 문제를 작은 단위의 하위 문제로 분활하고, 해당 하위 문제의 해결에도 동일한 알고리즘을 반복적으로 사용함으로 코드가 간결하고 유연성이 높다는 장점이 있다.단점재귀 알고리즘은 원하는 값이 나올 때까지 자기 자신을 계속 호출하는 것이기 때문에, 너무 많이 호출할 경우 코드의 속도 저하나 메모리 과다 사용 문제가 발생할 수 있다. 언제 사용하는가?재귀적 구조를 가진 .. 이전 1 2 다음