https://www.acmicpc.net/problem/1351
풀이: N번째 수열부터 차례대로 찾아나간다. N번째 수열이 map 에 존재한다면 그대로 리턴, 없다면 N = a/b + a/c 로 돌아가서 찾기 N이 0이라면 1을 리턴 각각의 값이 매우 크므로 long long 사용 실패 코드 예시처럼 map을 쓰지않고 리턴을 할 경우 같은 수열이 여러번 중복되어 계산되기 때문에 시간초과가 날 수 있다. 코드: 사용언어 : c++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include <iostream>#include <map>using namespace std; long long a, b, c; map<long long, long long> n; long long infi(long long q) { if (q == 0) return 1; if (n.
https://www.acmicpc.net/problem/1919
풀이: a~z까지의 알파벳 중 문자열에 나온 개수를 확인 후 그 차이를 출력한다. 코드: 사용언어 : Python 3
1 2 a,b=input(),input() print(sum(abs(b.count(chr(i))-a.count(chr(i)))for i in range(97,123)))
https://www.acmicpc.net/problem/2338
풀이: 두 수를 입력받는다. 두 수를 더한값, 뺀값, 곱한값을 각각 출력한다. 코드: 사용언어 : Python 3
1 2 a,b=int(input()),int(input()) print(a+b,a-b,a*b,sep='\n')
https://www.acmicpc.net/problem/2154
풀이: 전체 수를 string타입으로 나열한다. 그 숫자 중 제시된 숫자 n이 맨 처음으로 나오는 인덱스를 출력한다. 코드: 사용언어 : Python 3
1 2 3 4 n,s=int(input()),"" for i in range(1,n+1): s+=str(i) print(s.find(str(n))+1)
https://www.acmicpc.net/problem/2624
풀이: coin[i] : i원의 지폐를 동전으로 교환할 수 있는 경우의 수
지폐의 가격 + 동전의 가격 * 동전의 개수를 계속 쌓아간다.
코드: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include <iostream>using namespace std; pair<int, int> a[101]; int coin[10001] = { 0 }; int main(void) { int T, k, n, m; cin >> T >> k; for (int i = 0; i < k; i++) { cin >> n >> m; a[i] = make_pair(n, m); } coin[0] = 1; for (int i = 0; i < k; i++) for (int t = T; t > 0 ; t--) for (int y = 1; y <= a[i].