일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 코테
- 알고리즘
- 볼륨 만들기
- 백준13458
- 삼성역테
- 백준2251
- 자바
- 파티션 크기 조정
- 백준
- 완전탐색
- 에라토스테네스의채
- 알고리즘개념
- 전화번호속의암호
- 중복순열
- 완탐
- 중복조합
- 자바 코테
- D드라이브생성
- 순열
- 코테준비
- 백준15652
- Bfs와DFS
- 주사위굴리기2
- 정올 1620
- BFS
- N과M
- java
- 23288
- 정보처리기사
- 재귀함수
- Today
- Total
목록알고리즘 (119)
뚱땅뚱땅
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IBR9G/btqT7VwU2Do/u40iVPlV0zTq7F7F2wVDA0/img.png)
* 단계별로 풀어보기: while 문 문제 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int cycle = 0; int tmp = n, sum = 0; while(true) { if(n99) break; sum = (tmp/10) + (tmp%10); tmp = (tmp%10)*10 + (sum%10); cycle++; if(n == tmp) break; } System.out.println(cycle); } }
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxkCbl/btqT18i16YP/71521zYhZlKTXkuj2QQlq1/img.png)
메모이제이션 기법을 처음 알았다!! 이해하는데 좀 걸렸다. import java.util.Scanner; public class supersum { public static void main(String[] args) { int memo[][] = new int[15][15]; Scanner sc = new Scanner(System.in); int k,n; while(sc.hasNextInt()) { k = sc.nextInt(); n = sc.nextInt(); init(memo); System.out.println(func(k,n,memo)); } } static int func(int k, int n, int[][] m) { int result = 0; if(m[k][n]>0) return m[k..
메모이제이션이란? "컴퓨터 프로그램이 동일한 계산을 반복할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거해 프로그램 실행 속도를 빠르게 하는 기술" 피보나치 수열 예시 1. 일반적인 재귀함수를 이용할 경우 int fibonacci(int x){ if(x
문제: https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net #include #include #include #include using namespace std; bool desc(int a, int b) { return a > b; } int main() { //ios::sync_with_stdio(false); int alphabet[26] = { 0, }; int n;//단어의 개수 cin >> n; int answer = 0;//정답 f..