2839번 - 설탕 배달
혹시 문제에 3<N<=5000이라는 조건이있긴한데 if문을이용해서 이것까지 구현해야되나요??
2틀째 최대한 노력해봤는데 어디가 잘못된건지 조금의 조언부탁드립니다.. 해결은 혼자해보고싶네용 ㅠㅠ
입력 범위는 반드시 체크하지 않으셔도 됩니다.
경우를 나눠서 풀기는 조금 힘든 문제입니다. 반복문을 활용해보세요!
11이 입력으로 들어오면 1 2를 출력하는 게 아니라 둘을 합한 3을 출력해야 됩니다.
onjo0127님 제가 결과창을 잘못이해해서 5kg 3kg따로따로 호출했네요.. temp+temp2했더니 맞았다곤떴습니다.
저는 어떻게해야될지를몰라서 N이 50까지의 경우의수를 그리고 거기서 규칙을 찾아내서 이렇게 if문을 왕창때려박았네요.. ㅠㅠ
알고리즘은 이런식으로 하면안되는거겠쬬?? 반복문을 어떤식으로 활용할수있나요??
가능한 모든 경우의 수를 전부 계산해볼 수도 있고 다이나믹 프로그래밍 기법을 쓸 수도 있지만 지금처럼 규칙 찾아서 하는 게 시간상으론 사실 제일 좋습니다. 분기 수를 줄이는 것 정도겠네요.
djm03178님 이런식으로 하는것도 나쁘지않다는 말씀이신거죠?? 이문제를 접했을때 반복문을 사용해야겠다는 생각조차 안났네요 ..
규칙찾는게 저의경우에는 시간이 좀 걸리는데 시간상으로 제일 좋다고하시니 뭔가 ...공감은 잘안되네요
다이나믹프로그래밍기법은 또뭐고요 하하하... 앞으로 가야할길이 많이남았네요 ㅠㅠ 답변감사합니다
컴퓨터가 실행하는 데에 걸리는 시간을 말한 겁니다. 원래 알고리즘의 목표는 컴퓨터가 계산을 빠르고 적은 메모리로 해내게끔 하는 거니까 그 방면에 있어서는 전혀 나쁠 게 없다는 의미입니다. 경우의 수가 아주 많은 것도 아니고요.
이 문제는 사실상 그냥 규칙 찾는 수학 문제로 보셔도 됩니다.
@djm03178 아하 그렇군요ㅎㅎ 답변감사합니다
댓글을 작성하려면 로그인해야 합니다.
goosen 6년 전
혹시 문제에 3<N<=5000이라는 조건이있긴한데 if문을이용해서 이것까지 구현해야되나요??
2틀째 최대한 노력해봤는데 어디가 잘못된건지 조금의 조언부탁드립니다.. 해결은 혼자해보고싶네용 ㅠㅠ