이 문제를 해결하는 과정에서 오답을 낸 것이 아니라, 그냥 문제 자체를 이해하지 못했다. 첫번째는 666, 두번째는 1666 6번째는 5666인데 왜 7번째는 6660인가? 이 것을 해결하지 못했는데 되게 간단한 문제였다. 666이 무조건 포함이 되어야 한다. 따라서 5666 다음엔 6666이 오면 6660보다 더 큰 값이 오니까 말이 안 되는 거다. 7번째로 작은 값은 6660이 와야지 6666이 오면 나머지 6660, 6661, 6662 이 값들은 다 버려지기 때문이다. = 내 풀이 = 1부터 int의 최댓값까지 반복을 하면서 666이 포함되어있는 값들을 순서대로 list에 담았다. 그리고 list의 사이즈가 10000까지 저장이 되어야 내가 원하는 값을 쏙 뽑아서 쓸 수 있기 때문에 이러한 식을 이..
= 내가 접근한 방법 ( 틀림 ) = 문제 의도 자체를 잘못 파악했다. 내가 이해한 내용은 8x8체스판에서 B와 W의 개수를 구한 후, 제일 최소로 각자 32개씩 나올 수 있는 방법을 찾았다. 그래서 틀렸다 이 문제는 8x8 배열에서 W,B가 교차하면서 완벽하게 체스판을 만들어야 할 때 필요한 W,B의 갯수지 8x8체스판에서 B와 W의 개수를 구한 후 , 완전하게 새로 칠한다는 문제가 아니였다. 이 방법을 엄청 고민하면서 풀었는데 틀렸고, 더이상 해결 방법을 찾지 못해 구글링을했다. = 다른 사람 풀이 = 정말 간단하게 풀 수 있었다. 0. 맨 처음 배열을 생성해서 1차원 배열로 BBBBBBBB, WWWWWWWW 이런식으로 row값에 맞게 저장한다. 1. 체스판을 자른다. 8x8의 모든 경우의 수를 생각..
문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 예제 입력 1 복사 216 예제 출력 1 복사 198 = 오답 코드 = 처음에 내 코드에 오..