전체 글 147

(Javascript) 백준 2161번 : 카드1

https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자...

연습문제 1.7

큰 값을 집어넣거나 아주 작은 값을 넣으면 부동소수점 문제로 인해 올바른 결과를 출력하지 못한다. 아주 큰 수의 경우, improve가 계속해서 같은 답을 생성하게 되어, good-enough?를 탈출할 수 없는 무한 루프에 빠지게 된다. 작은 숫자의 경우, good-enough에서 정의한 정밀도로 오차를 계산하는 게 의미가 없음을 직관적으로 알 수 있다. 문제에서 주어진대로 good-enough를 어림잡은 값을 헌값에 견주어 고쳐나가는 방식으로 수정하면, 큰 수와 작은 수에서도 문제없이 작동하게 된다.

CS/SICP 2022.05.03
728x90