728x90
반응형

백준알고리즘

- Bronze 4 -

 #14264. 정육각형과 삼각형 by JAVA and node.js 

 


 

문제

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

 


 

접근 방법

 

정육각형 한 각은 120˚이고, S의 최대값은 정삼각형이 그려졌을 때이다.

한 변의 길이가 L로 주어지고, 한 꼭짓점에서 대각선으로 수선의 발을 내리면 한 각은 60˚, 다른 한 각은 자연스럽게 30˚가 된다. (∵ 이등변 삼각형)

30˚ 60˚ 90˚는 삼각비가 존재하는 삼각형으로, 변의 길이가 1 : √3 : 2 의 비율을 가진다.

따라서 가장 짧은 변(여기서는 높이 역할)의 길이는 (1/2)L이고, 가장 긴 변(여기서는 가로의 길이의 절반)은 (√3/2)L이 되므로 S는 (√3/4)*L*L 이 된다.


 

풀이

▶ JAVA

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 실수형이 나와야 하므로 double로 받는다.
        double l = scan.nextDouble();
        scan.close();

        // Math.sqrt(3) 때문에 출력은 실수로 나오지만,,
        System.out.println(l * l * Math.sqrt(3) / 4);
    }
}

 

▶ node.js

var fs = require('fs');
var l = fs.readFileSync('/dev/stdin').toString().trim();

// l * l 대신 Math.pow를 사용해보았다.
console.log(Math.pow(l,2) * Math.sqrt(3) / 4);

 


 

결과

 


 

 

 

 

 

End.

heisely's 괴발개발 개발일지

 

728x90
반응형

+ Recent posts