728x90
반응형

백준알고리즘

- Bronze 5 -

 #17496. 스타후르츠 by JAVA and node.js 

 


 

문제

출처: https://www.acmicpc.net/problem/17496 

 


 

접근 방법

▶ 변수

  • 여름의 일 수 N
  • 자라는데 걸리는 일 수 T
  • 심을 수 있는 칸의 수 C
  • 개당 가격 P

▶ 첫 날부터 심을 수 있음. 다 자라는 날도 심을 수 있음.

>> N / T의 나머지가 존재하지 않을 경우, 마지막 수확 날이 여름날이 끝난 이후가 됨 → (N / T) - 1번 수확 가능

>> N / T의 나머지가 존재할 경우, 마지막 수확 날이 여름날 안이 됨 → (N / T)번 수확 가능

 

▶ 따라서, 총 수입은 위에서 구한 (수확 횟수) * C * P가 됨.


 

풀이

▶ JAVA

import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt(); // 여름날
        int t = scan.nextInt(); // 자라는 시간
        int c = scan.nextInt(); // 수확 칸
        int p = scan.nextInt(); // 개당 가격
        scan.close();

        if(n % t == 0) {
            System.out.println(((n/t) - 1) * c * p);
        } else {
            System.out.println((n/t) * c * p);
        }
    }
}

 

▶ node.js

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trim().split(' ').map(v => +v);

var n = input[0]; // 여름날
var t = input[1]; // 자라는 시간
var c = input[2]; // 칸의 수
var p = input[3]; // 개당 가격
var count = parseInt(n/t); // 수확 날

if(n % t == 0){
    console.log((count - 1) * c * p);
} else {
    console.log(count * c * p);
}

.map(v => +v)로 input[x] 값은 정수로 받았지만, n/t 값은 실수로 반환될 수 있기 때문에 parseInt로 형변환하여 count에 넣어줬다.


 

결과

 


 

 

 

 

 

End.

heisely's 괴발개발 개발일지

 

728x90
반응형

+ Recent posts