본문 바로가기
반응형

알고리즘11

[cpp 알고리즘] 백준 3474 교수가 된 현우 [백준] 3474 교수가 된 현우 cpp(c++) 풀이알고리즘: 수학, 정수론https://www.acmicpc.net/problem/3474문제 요약- 자연수 N이 주어지면 N!의 오른쪽 끝에 있는 0의 개수를 구하기풀이 정리-  2의배수*5의배수로 0이 생기는데, 2의 배수는 많기 때문에 5의 배수의 최대 개수를 구하면 된다. ex) 60!의 경우는 5의 배수(60/5 =12)와 25의 배수(60/25=2)의 개수를 합친 12+2=14 로 답이 14가 나온다.C++ 코드#include #define ll long longusing namespace std;ll T, N;int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0.. 2024. 11. 10.
[cpp 알고리즘] 백준 17827 달팽이 리스트 [백준] 17827 달팽이 리스트 cpp(c++) 풀이알고리즘: 수학, 구현https://www.acmicpc.net/problem/17827문제 요약- 선형 단방향 연결리스트로 1번 부터 N번 노드까지 연결되어 있다.- 이 때, N번 노드가 1번 노드를 제외한 임의의 노드를 가리켜 사이클을 생기는 연결 리스트를 이룬다. - 이 때 K번 노드에는 어떤 값이 있을지 구하는 문제이다. 풀이 정리- 연결리스트가 된 이후에 K번째 값들을 나열해 보았고, 아래와 같은 수식을 얻을 수 있었다.- k번째 값이 (V-1)보다 작으면 (=연결되지 않는 부분)이면 해당 인덱스의 값을 출력해주면 된다.- 그 외의 경우는, 반복되기 때문에 V번째로부터 (K-(V-1)) % (N-(V-1)) 만큼 떨어져 있는 값을 출력해주면 .. 2024. 11. 9.
[cpp 알고리즘] 백준 15721 번데기 [백준] 15721 번데기알고리즘: 구현, 브루트포스 알고리즘, 시뮬레이션https://www.acmicpc.net/problem/15721문제 요약- n-1회차 문장일 때는 "뻔 – 데기 – 뻔 – 데기 – 뻔(x n번) – 데기(x n번)" 로 번데기 게임이 진행된다.- 원으로 앉아있고, 반시계방향으로 게임을 진행한다.- T번재 '뻔' 또는 '데기'를 외치는 사람이 몇 번째 사람인지 구하는 문제이다. 풀이 정리구하고자 하는 T번째가 10000보다 작기 때문에, 브루트포스 알고리즘을 선택했다. - N=1일 때, 뻔-데기-뻔-데기-뻔-뻔-데기-데기- N=2일 때, 뻔-데기-뻔-데기-뻔-뻔-뻔-데기-데기-데기- N=3일 때, 뻔-데기-뻔-데기-뻔-뻔-뻔-뻔-데기-데기-데기-데기위와 같이 진행이 되고, T번.. 2024. 8. 6.
[cpp 알고리즘] 백준 1080 행렬 [백준] 1080 행렬 풀이알고리즘: 그리디 알고리즘https://www.acmicpc.net/problem/1080문제 요약- N*M 크기의 행렬이 두 개 주어진다.- 기존 A의 행렬을 B로 바꾸는데 필요한 연산 횟수의 최소값을 구하면 된다. (연산은 모든 원소를 뒤집는 것을 의미한다.)풀이 정리- 두 행렬의 요소들을 각각 비교하고 동일하면 0, 다르다면 1로 구성된 temp 배열을 만들었다.- (0,0)부터 (N,M)까지 확인해보면서 서로 다르다면(=1이라면) 그 부분을 기준으로 3*3 만큼 모든 원소를 뒤집었다. C++ 코드#include #include using namespace std;int N, M;int arr[55][55];int arr2[55][55];int temp[55][55]; /.. 2024. 7. 22.
반응형