알고리즘/SW익스퍼트 아카데미 (2) 썸네일형 리스트형 8993. 하지 추측 하지가 할일없이 영감받아서 문제만든 문제 원본은 콜라츠 추측이라는데 모든 자연수 N에 대해 아래 while문을 탈출할수 있다 라는 추측 증명하는건 사실상 불가능하다고 한다. while (N > 1){ if (N mod 2 == 0) N := N / 2 else N := 3 * N + 1 } 콜라츠추측 위키설명 링크 여기서 := 기호는 대입연산자 즉 앞에 값에 뒤에 값을 대입하겠다로 N := N / 2는 N = N / 2랑 같다 하여튼 하지가 심심했는지 여기서 영감을 받아서 N := 3 * N + 1 을 N := 3 * N + 3 으로 바꾸었을때에도 만족하는지 알아보려고한다. 주어진 N에 대해 while문 탈출할수 있으면 YES 아니면 NO를 출력하는 문제 N 은 1 ~ 10^14 (100조) while .. 8988. 세운이는 내일 할거야 게으른 세준이가 최대한 미루다가 과제를 할때 언제부터 과제를 시작해야되는지 구해야 되는 문제 각 과제의 제출기한과 과제에 소요되는 시간이 주어진다. 바로 받으면서 하기 힘들어 보이는게 결국 앞에 값을 어딘가 저장해놔야 된다고 생각 됨 ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ 위와 같이 징검다리로 주어지다가 이걸 덮어버리는게 나오면 시작날짜가 그만큼 앞으로 가야됨 근데 배열에 이걸 저장해놓자니 제출날짜가 최대 10^9 Integer배열로 만들면 최악의 경우 배열 메모리만 4byte * 10^9 = 4,000,000,000 (약 4기가)로 터짐 그래서 푼 방법은 일단 내부에 소요기간, 제출기한 가지고 있는 Assign class를 만듬 그리고 모든 과제에 대한 정보를 ArrayList에 Assign class로 저장한 뒤 .. 이전 1 다음