본문 바로가기
반응형

Programming Solve/BOJ60

BOJ 15312 이름 궁합 / C++ 문제 링크 : www.acmicpc.net/problem/15312 15312번: 이름 궁합 영어 대문자 알파벳 26개의 획수는 순서대로 3, 2, 1, 2, 3, 3, 2, 3, 3, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1 로 정한다. (출제자가 알파벳 대문자를 쓰는 방법이 기준이다) www.acmicpc.net 안 푼 문제 랜덤으로 나온 문제이다. 브론즈2길래 그냥 풀어보았다 아이디어는 이렇다. 이름 A와 B는 같은 길이로 이루어져 있으므로 미리 ans(wer) 배열을 만들어놓고 주어진 알파벳 획수에 따라서 번갈아 집어넣는다. 예를 들어 입력 예시인 CJM / HER 일 경우, 획수로는 1 2 2 / 3 3 2이므로 ans 배열에는 1 3 2 3 2 .. 2021. 2. 11.
BOJ 2445 / C++ 단순한 별찍기 구현 문제. 리본식의 출력이 나온다 #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j 2021. 2. 7.
BOJ 1475 (C++) 1. 문제 2. 아이디어 우선 문제를 이해해보면 숫자 세트 하나에는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9가 들어있고 6과 9는 서로 뒤집어서 사용할 수 있다. 즉, 666 -> 2세트가 필요 (6, 9, 6) 6666 -> 2세트가 필요 (6, 9, 6, 9) 166 -> 1세트가 필요 (1, 6, 9) 669966 -> 3세트가 필요(6, 9, 6, 9, 6, 9) 69696 -> 3세트가 필요 (6, 9, 6, 9, 6) 이다. 메인 아이디어는 0~9의 숫자를 담을 수 있는 배열을 선언하고 숫자를 입력받으면 자릿수별로 나누어 ++해준 뒤 6과 9의 개수를 세고 6만 있는 경우와 9만 있는 경우, 그 외의 경우를 나누어 계산한다. -> 거의 다 else 부분에서 계산되지만 99999같은 .. 2020. 12. 1.
BOJ 1912 (C++) 1. 문제 2. 아이디어 Dynamic Programming은 점화식만 세우면 80~90%는 풀었다고 할 수 있다. 연속된 몇 개의 수의 합 중 최댓값을 구하는 문제이므로 현재값과 누적된 값 + 현재값 중 어떤 것이 더 큰지 비교해보면 답을 구할 수 있을 것이다. -> 만약 누적된 값에 현재값을 더한 것보다 그냥 현재값이 더 크다면 현재값부터 다시 더해나가는것이 더 큰 값이 될것이다 라는 아이디어이다. 점화식을 세우면 DP[i] = max(arr[i], DP[i-1] + arr[i]) 이고 예제 1의 케이스로 보면 arr [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 10 -4 3 1 5 6 -35 12 21 -1 DP [0] [1] [2] [3] [4] [5] [6] [7] [.. 2020. 11. 29.
반응형