Koder / 박성훈
article thumbnail
백준 BOJ 2553 - 마지막 팩토리얼 수
알고리즘/백준 BOJ 2020. 12. 28. 14:52

https://www.acmicpc.net/problem/2553 2553번: 마지막 팩토리얼 수 첫째 줄에 N이 주어진다. N은 20,000보다 작거나 같은 자연수 이다. www.acmicpc.net #include int f(int k, int t){ if(t == 1) return k; k = k*t; while(k%10 == 0) k/=10; k = k%100000; return f(k, t-1); } int main(){ int n; scanf("%d", &n); printf("%d", f(1, n)%10); } 재귀함수를 이용해서 풀어줬다. k는 계산중인 팩토리얼 수이고, t는 곱해야 할 수이다. ​ t가 1이라면 더 곱해줄 필요가 없으므로 k를 결과값으로 반환해주고, 아닐경우에는 k에 t를 ..

article thumbnail
백준 BOJ 10844 - 쉬운 계단 수
알고리즘/백준 BOJ 2020. 12. 28. 14:51

슬슬 바텀업 방식 DP의 감이 잡히는거같기도 하고... 그래도 역시 너무 섣부른거 같긴 하다 아직. ​ https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 그냥 dp배열을 1차원으로 만드려다 0으로 시작하는 수는 없다는 규칙때문에 배열을 2차원으로 짜냈다. #include int dp[101][11] = {0}; int index(int k){ if(k==-1){return 10;} return k; } int main(){ int n,sum=0; scanf("%d", &n); for(int i=1; i

article thumbnail
백준 BOJ 2156 - 포도주 시식
알고리즘/백준 BOJ 2020. 12. 28. 14:50

https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net #include int dp[10005] = {0}; int arr[10005] = {0}; int max(int a, int b){ return a>b?a:b; } int main(){ int n; scanf("%d", &n); for(int i=3; i

article thumbnail
백준 BOJ 1149 - RGB거리
알고리즘/백준 BOJ 2020. 12. 28. 14:49

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 배열을 어떻게 만들어야 할지 고민했던 문제. dp배열을 만든 뒤로는 그냥 무난하게 풀어냈다. #include int dp[1001][3] = {0}; int min(int a, int b){ return a>b?b:a; } int index(int k){ if(k==3){return 0;} if(k==-1){return 2;} return k; } int main(){ int..

article thumbnail
백준 BOJ 2749 - 피보나치 수 3
알고리즘/백준 BOJ 2020. 12. 28. 14:46

https://www.acmicpc.net/problem/2749 2749번: 피보나치 수 3 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 피사노 주기라는 개념을 찾기 전까지는 해답에 도달하기 힘든 문제... ​ https://www.acmicpc.net/problem/9471 9471번: 피사노 주기 첫째 줄에 테스트 케이스의 개수 P (1 ≤ P ≤ 1000)가 주어진다. 각 테스트 케이스는 N과 M으로 이루어져 있다. N은 테스트 케이스의 번호이고, M은 문제에서 설명한 m이다. (2 ≤ M ≤ 1,000,000) www.acmicpc.net 이 문제에서 피사노 주기의 개념을 설명해주고 있다. 피보나치 수열을..

article thumbnail
백준 BOJ 1016 - 제곱 ㄴㄴ 수
알고리즘/백준 BOJ 2020. 12. 18. 22:37

https://www.acmicpc.net/problem/1016 1016번: 제곱 ㄴㄴ 수 첫째 줄에 min과 max가 주어진다. min은 1보다 크거나 같고, 1,000,000,000,000보다 작거나 같은 자연수이고, max는 min보다 크거나 같고, min+1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 시간초과가 나서 되게 고민했던 문제. #include #include #define ll long long int bool chk[1000001] = {0}; int main(){ ll min,max; ll sum = 0; scanf("%lld %lld", &min, &max); sum = max - min + 1; for(ll i=2; i*i

반응형