Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
/* 11057 오르막 수

오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다.
예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다.
수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다.
출력 : 첫째 줄에 길이가 N인 오르막 수의 개수를 10,007로 나눈 나머지를 출력한다.
->처음에 출력에 그냥 10007로 나눈 나머지를 출력하라길래 이렇게 쉬울리가 없는데 하고 푸니 역시 ㅋㅋ,,,
그 뒤로 오른차순(크기순)으로 되는 숫자들을 카운트 했는데 이러면 중복되는 숫자가 포함이 안되서 한참 고민하다 결국 못 풀었고 블로그에서 답을 찾았습니다.
10824 네 수
네 자연수 A, B, C, D가 주어진다. 이때, A와 B를 붙인 수와 C와 D를 붙인 수의 합을 구하는 프로그램을 작성하시오.
두 수 A와 B를 합치는 것은 A의 뒤에 B를 붙이는 것을 의미한다. 즉, 20과 30을 붙이면 2030이 된다.
머리 속에 있는 지식과 잘못된 생각이 만나 결국 나와버린 끔직한 혼종....지금 생각해보니 틀린 이유도 아마 문자열을 합쳐서 그걸 반대로 정수형으로 바꾼게 원인이 아닌가 생각합니다.
웬만한 예시는 다 맞게 나오는데 아쉬운 문제였습니다..
1699 제곱수의 합
어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=3^2+1^2+1^2(3개 항)이다.
이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=2^2+2^2+1^2+1^2+1^2(5개 항)도 가능하다.
주어진 자연수 N을 이렇게 제곱수들의 합으로 표현할 때에 그 항의 최소개수를 구하는 프로그램을 작성하시오.
-> 크흐흑... 저번 숫자 더하기 문제의 복수를 위해 풀어보려고 했는데.... 패배해 버렸습니다...ㅠ
제곱 수로 표현해보면 높은 숫자의 경우 1^1이 너무 많이 쓰이거나 계산이 안됐었는데 정답을 보고나니 애초에 제가 생각을 잘 못 했던 것 같습니다. 첫번째로, 예를들어 42란 숫자가 있으면 6^6(36) + 2^2(4) + 1^1 + 1^1 이런식으로 그냥 무작정 계산식으로만 생각했습니다. 두번째로는 머리속으로 계산은 가장 큰 수의 제곱수에다가 나머지 수를 더하는 것인데 무조건 큰 수가 최소개수가 되지는 않았습니다.

블로그에서 정답을 보면서 문제의 핵심은 이번에도 최소개수를 구해야 하기에 42에 포함 될 수 있는 제곱의 수 ( 1^1, 2^2, 3^,3, 4^4, 5^5, 6^6) 에서 뺀 나머지 수 의 경우의 수를 더해야 한다는 것을 알게 되었습니다. 말이 이상한데
*내가 생각한 것 : 큰 제곱수에서 나머지 작은 제곱수를 *더하는 경우의 수 // 정답 : 해당 숫자에 포함되는 제곱수를 뺀 나머지 숫자의 경우의 수 + 1 여기서. +1이 처음에는 왜 있는지 몰랐는데 각 제곱수로 뺀 거 자체로 하나의 경우의 수이기 때문이라는 것을 뒤늦게 이해해서 완전히 이해할 수 있었습니다..
2193 이친수
이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.
이친수는 0으로 시작하지 않는다.
이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.
N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오.
위 조건에 맞으려면 앞자리 수는 무조건 1이여야 하고 그 다음에 0이니까 10_ _ _n 자리 수로 시작해야 하더라구요.
위 문제들 처럼 하나하나 경우의 수를 해보니까 같은 숫자가 반복되는게 곧 dp[n] = dp[n-1] + dp[n-2] 이라고 확실했고 지난 주 풀었던 문제에서 d[0],d[1]을 따로 선언 해줬던 게 생각나서 코드를 완성시켰는데 !! .. 틀렸습니다.... 아무리 생각해도 이유를 몰라서 결국 또 찾아보니 기초적인 부분이더라구요.. 조건에 N(1 ≤ N ≤ 90)이 주어졌을 때, 라는 게 걸렸던 것...아니 이걸 신경써야 된다고 하면서 화내다가 진짜 90해보니까 오버플로가 뜨고 나서 아차 했습니다. 근데 이걸 해결하기 위해서 가장 큰 자료형 long long (8바이트)를 썼는데도 Run time error : stak: ~ 에러가 뜨길래 한참 고민하다... N 최대 90까지 -> 배열선언 N[90] 맞잖아...어..? 뭐지 ..뭔가... 아악.....인덱스N(0) ~ N(89) -> N[90]번째가 없음 ... 이건 이런 기초적인 개념도 아직 완벽히 이해하지 못했다는 증거라고 생각합니다.... 이번 기회에 더 확실하게 공부하는 계기가 되었습니다..
이번엔 진짜 완벽하게 내 힘으로 풀어봐야 다짐했건만...아직 한참 부족하고도 남을 실력이라 부끄럽습니다...그래도 이번기회에 확실히 알게 되었던 한 주였습니다. 이번 주차가 마지막이네요. 코딩 공부 계속 해야지 해야지 했었는데 갑자기 시작했지만 방학 한달 동안 덕분에 진짜 알차게 보냈고 유익했던 것 같아요. 강민이 덕분에 깃허브 사용법도 알고 새로 배운 내용도 진짜 많은 것 같아요. 같이 공부하면서 너무너무 고생많았고 2학기도 파이팅 합시다!~