Algorithm(39)
-
[TopCoder] AutoLoan (자동차 할부)
자동차 대리점들은 사람들이 "꿈의 차"를 더 쉽게 구입할 수 있도록 유혹적인 대출 제안을 자주 광고한다. 일반적인 판매 전략은 다양한 자동차를 보여주고 나서 실제로 자동차에 얼마를 지불하고 있는지, 이자를 얼마나 지불해야 하는지, 지불해야 하는 기간은 말할 것도 없이 월 지불액이 얼마인지에 대해 이야기하는 것입니다. 일반적인 자동차 대출은 고정 금리를 사용하여 계산되며, 잔액을 완전히 상환하기 위해 정해진 기간 동안 동일한 월 납입을 하도록 설정됩니다. 당신의 대출 잔액은 자동차의 스티커 가격으로 시작한다. 매월 이자는 잔액에 가산되며, 지불 금액은 잔액에서 차감됩니다. (이자가 가산된 후에 지급액이 차감됩니다.) 월 이자율은 연 이자율의 12분의 1이다. 따라서 연간 백분율이 12%인 경우 남은 잔액의..
2023.03.01 -
[TopCoder] Batchsystem(배치 시스템)
과거에는 전체 조직이 모든 계산 작업을 수행하기 위해 하나의 큰 컴퓨터에 의존했습니다. 시스템에는 대기 중인 작업 목록이 있으며 기간 및 사용자별로 설명되어 있습니다. 보류 중인 작업이 있으며 각 작업은 이 두 배열로 설명됩니다. i번째 작업의 경우 duration[i]은 작업을 완료하는 데 필요한 총 시간(분)이며 user[i]는 해당 작업을 요청한 사용자를 식별하는 문자열입니다. 사용자는 여러 작업을 요청할 수 있습니다. 컴퓨터는 한 번에 하나의 작업만 처리할 수 있습니다. 사용자의 대기 시간은 사용자가 요청한 모든 작업이 완료될 때까지 기다려야 하는 시간으로 정의됩니다. 프로그램은 모든 사용자의 평균 대기 시간을 최소화하는 방식으로 작업을 예약해야 합니다. n 작업의 0 기반 인덱스를 포함하는 in..
2023.03.01 -
[TopCoder] StockHistory (주식 히스토리)
당신은 최근에 월급 인상과 함께 직장에서 일회성 보너스를 받았습니다. 새로 발견한 돈을 유용하게 사용하기 위해, 당신은 주식 시장에 투자하기로 결정했다. 최근의 시장 기록에 대해 알아보려면 구입에 관심이 있을 수 있는 여러 주식에 대한 과거 데이터를 얻으셨습니다. 실험을 위해 선택한 주식의 잠재적 성과를 평가하려고 합니다. 당신이 궁금해 하는 것은, 만약 당신이 처음에 initialInvestment를 투자 했다면, 얼마나 많은 돈을 벌 수 있었냐는 것이다. 그리고 그 이후 매달 추가적인 monthlyContribution 달러가 있습니다. 매월 초에 주식을 얼마든지 매수할 수 있으며(주식의 소수 포함) 데이터에 표시된 기간이 끝날 때(지난달 초) 보유 주식을 모두 매도한다고 가정합니다. 당신은 중간 기..
2023.03.01 -
[TopCoder] ColorfulBoxesAndBalls (알록달록 상자와 공들)
당신은 빨간 박스 번호, 파란 박스 번호, 빨간 공 번호, 파란 공 번호를 가진 게임을 하고 있습니다. 당신은 각각의 상자에 공을 하나씩 넣어야 합니다. 그런 다음 각 상자에 다음과 같이 점수가 매겨집니다: 상자가 빨간색이고 빨간색 공이 들어 있으면 OnlyRed만 받습니다. 상자가 파란색이고 파란색 공이 들어 있으면 OnlybBlue만 받습니다. 다른 모든 경우에는 bothColors를 얻을 수 있습니다. 당신의 총 점수는 모든 상자의 점수를 합한 것입니다. 얻을 수 있는 최대 총점을 반환합니다. Definition Class: ColorfulBoxesAndBalls Method: getMaximum Parameters: int, int, int, int, int Returns: int Method s..
2023.02.26 -
[TopCoder] HandsShaking(악수)
원형 테이블에 둘러앉아 있는 n명의 사업가들의 모임을 생각해보자. 회의를 시작하려면, 그들은 악수를 해야 한다. 각각의 사업가들은 정확히 한 명의 다른 사업가와 악수를 한다. 모든 악수는 동시에 이루어집니다. 우리는 서로 팔짱을 끼지 않으면 악수가 완벽하다고 말한다. int n이 주어졌을 때, n명의 사업가들에게 존재하는 완벽한 쉐이크의 수를 반환한다. 자세한 설명은 예를 참조하십시오. Definition Class: HandsShaking Method: countPerfect Parameters: int Returns: long long Method signature: long long countPerfect(int n) (be sure your method is public) Examples 0) 2..
2023.02.25 -
[TopCoder] ChessMetric (체스 행렬)
당신이 n by n 체스판과 킹나이트라고 불리는 슈퍼피스를 가졌다고 가정해보자. 아래의 'K'로 표시된 킹나이트는 아래의 'X' 또는 'L'로 표시된 공간 중 하나에 도달할 수 있다: ....... ..L.L.. .LXXL. ..XKX.. .LXXL. ..L.L.. ....... 즉, 킹나이트는 어떤 방향으로든 한 공간(수직, 수평 또는 대각선)을 이동하거나 'L'자 모양의 이동을 할 수 있다. 'L'자 모양의 동작은 2칸을 수평으로 이동한 후 1칸을 수직으로 이동하거나 2칸을 수직으로 이동한 후 1칸을 수평으로 이동하는 것을 포함한다. 위의 도면에서 'L'자 모양의 이동은 'L'로 표시되는 반면, 한 공간 이동은 'X'로 표시됩니다. 게다가, 킹 나이트는 보드에서 절대 뛰어내리지 않을 수도 있다. 보드..
2023.02.25