복사를 한 번 했으면 붙여넣기는 여러 번 할 수 있습니다.
1(0) -> 1(1) -> 2(1) -> 2(2) -> 4(2) -> 6(2)
또는,
1(0) -> 1(1) -> 2(1) -> 3(1) -> 3(3) -> 6(3)
으로 5번만에 가능합니다.
14226번 - 이모티콘
아 이제 이해했네요.. 감사합니다!
그럼 이 문제는 bfs로 큐를 이용해 저장해 주는 것은 좋은데 복사했을 때 그걸 계속 사용하려면 배열 하나를 새로 만들어서 저장해 주어야 하나요?
복사한 데이터를 어떻게 해야 할까요?
덕분에 도움이 많이 된 것 같아요! 감사합니다~
그런데 제가 처음에 visited배열을 [1001][1001]로 설정했는데 딱 6중반까지만 작동하고 그다음부터는 오버플로가 발생하는거같더라고요
그래서 visited[3001][20001]같이 크게 잡은 뒤에 다시 돌렸더니 성공했습니다.
문제에서는 1000까지라고 해서 1001로 잡았는데 왜 이렇게하면 넘치는걸까요? 보통 배열크기를 어느정도로 잡아야하나요?
댓글을 작성하려면 로그인해야 합니다.
2015112119 5년 전
가령 예제에서 6을 입력하면
1 ->2 (연산 횟수 = 복사(1)+붙여넣기(1) = 2) -> 4( 연산 횟수 = 2 + 복사(1)+붙여넣기(1) = 4)
-> 3(연산 횟수 = 4 + 빼기1 = 5) ->6(연산 횟수 = 5 + 복사(1)+붙여넣기(1) = 7 즉 7이 되는데 왜 5인지 잘 모르겠네요..
복사하고 붙여넣으면 결국 2를 더하는게 아닌가요? 제가 생각을 잘못하고 있는건가요?
입력 18도 13이 맞는거같은데 1 ->2 ->4 ->3 -> 6 ->5 ->10 ->9 ->18 어떻게 8번으로 바로 하는지 모르겠습니다..