목록전체 글 (44)
시간이 NullNull
진수는 어린 동욱이에게 숫자 공부를 시키고 있다. 진수는 숫자를 여러 번 말한다. 그러면 동욱이는 진수가 부르는 숫자를 공책에 적거나 지운다. 숫자를 적을 때는 공책에 그 숫자가 적혀 있지 않을 때이고, 숫자를 지울 때는 공책에 그 숫자가 적혀 있을 때이다. 처음 공책에는 어떤 숫자도 적혀 있지 않다고 할 때, 마지막에 공책에 적힌 숫자의 개수를 구하는 프로그램을 작성하라. ps. 왜 저렇게 비효율적으로 공부시킬까ㅠㅠ 불쌍한 동욱이 가장 쉽게 생각했을때 그대로 시키는 대로 반복하면 된다. 처음에 쓰여지지 않은 수 = false 이후 쓰여지면 true 다시 진수가 숫자 부르면 false 다시 진수가 숫자 부르면 true 전체 코드는 아래와 같다. import java.io.BufferedReader; im..
재현이는 재민이를 도와서 동아리 장부를 관리하고 있다. 재현이는 영수증을 모아서 동아리의 지출 금액을 세고 있고, 재민이는 재현이가 부르는 액수를 순서대로 적고 있다. 재현이는 가끔 잘못된 수를 부르는 실수를 하는데, 이 때마다 0을 외쳐서, 가장 최근에 재민이가 쓰고 지우지 않았던 수를 지우게 시킨다. 재현이가 모든 수를 부른 후 재민이가 받아 적은 수의 합은 무엇일까? ps. 정말 불쌍하게도 쓰고 지우고 쓰고 지우고를 반복하는 재민이를 위로해줍시다.... 이 문제의 경우 그냥 시키는 대로 코드를 작성하면 된다. 다만 최근에 쓴 것을 지우게 되는데 이때 가장 좋은 것이 stack이기 때문에 stack을 활용하여 코드를 작성해 보았다. 들어오는 수를 다 stack에 넣다가 0이 들어오면 pop을 해주면되..
선표는 가게에서 처음으로 스파게티 면을 샀다. 봉투에 적힌 정보에 따르면, 면을 정확히 B초 동안 삶아야 이상적인 상태의 면이 된다고 한다. 그러나 안타깝게도, 지금 선표집의 모든 시계는 고장이 났다. 그래서 가게에서 모래시계를 하나 사서 집으로 가려고 한다. 가게에는 N개의 모래시계가 있고, i번째 모래시계는 정확히 xi초를 측정할 수 있다. 모래가 다 내려오면 바로 모래시계를 뒤집는 것으로 2xi초, 3xi초, …도 측정할 수 있다. 그러나 나머지 시간은 측정할 수 없다. 선표는 모래시계로는 정확한 시간을 측정할 수 없을 것 같아서, 조금 타협하여 E초 정도의 오차를 허용하려고 한다. 그러므로, 어떤 하나의 모래시계를 구입하여 B – E초에서 B + E초 중 하나를 측정해낼 수 있으면 된다. 구입해도..