태그함수를 이용하여 이차 방정식 풀기
*tagged template literal function
ex) function sides(literals, ...expressions) { }
sides`The area is: ${val1}.\nThe perimeter is: ${val2}.`
-> literals: ['The area is:', '\nThe perimeter is:', '.']
-> expressions: [val1, val2]
조건
- 주어진 area, perimeter 값으로부터 다음 방정식을 이용하여 s1, s2를 풀 것
- s1, s2를 오름차순의 배열로 만들어 전달
제한사항
- 1 ≤ s1, s2 ≤ 100
나의 풀이
- expressions 로 전달받은 인자를 각각 A, P 로 할당
- 제공된 이차방정식을 이용하여 각각 s1, s2 계산
- 오름차순으로 정렬 후 전달
// 생략
/*
* Determine the original side lengths and return an array:
* - The first element is the length of the shorter side
* - The second element is the length of the longer side
*
* Parameter(s):
* literals: The tagged template literal's array of strings.
* expressions: The tagged template literal's array of expression values (i.e., [area, perimeter]).
*/
function sides(literals, ...expressions) {
const [A, P] = expressions;
const root = Math.sqrt(Math.pow(P, 2) - 16 * A );
const s1 = (P + root)/4;
const s2 = (P - root)/4;
return [s1, s2].sort();
}
// ..후략
결과
'HackerRank' 카테고리의 다른 글
[해커랭크] Day 7: Regular Expressions Ⅱ (javascript) (0) | 2022.08.19 |
---|---|
[해커랭크] Day 6: Bitwise Operators (javascript) (0) | 2022.08.19 |
[해커랭크] Day 8: Buttons Container (javascript) (0) | 2022.08.18 |
[해커랭크] Day 7: Regular Expressions Ⅰ(javascript) (0) | 2022.08.18 |
[해커랭크] Day 5: Inheritance (javascript) (0) | 2022.08.18 |