day 14

JH·2024년 6월 17일

코딩테스트 연습 > 정수 제곱근 판별

문제 설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

제한 사항
n은 1이상, 50000000000000 이하인 양의 정수입니다.
입출력 예
n return
121 144
3 -1
입출력 예 설명
입출력 예#1
121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다.

입출력 예#2
3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다.


👉 문제 풀이
n = x^2이면 x+1의 제곱을 리턴하고, 아니면 -1을 리턴하라는 문제.
자바스크립트에서 제곱근함수는 math.sqrt()이고 n이 변수로 주어졌기 때문에
math.sqrt(n) = x라고 작성할 수 있다. 이때 x가 양의 정수이면 x+1의 제곱을, 아니면 -1을 반환하는 if문을 작성했다.

➕ ➕ plus
어떤 수가 정수인지 판별하는 방법?
Number.isInteger(n): 주어진 값 n이 정수인지 여부를 확인합니다.
n > 0: 주어진 값 n이 0보다 큰지 확인하여 양의 정수인지 판별합니다.
조건에서 and를 표현하기 위해 &&을 이용한다
ex) Number.isInteger(n) && n > 0;

코딩테스트 연습 > 정수 내림차순으로 배치하기

문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n return
118372 873211


👉 문제 풀이

먼저 정수를 쪼개서 비교하기위해 문자형으로 변경하고 split을 사용한다.
자바스크립트에서 정렬하는 방법을 찾아보니 sort()함수를 이용하는 방법이있었다. 배열을 sort()로 정렬하면 오름차순으로 나온다. 이어서 내림차순으로 뒤집어주기 위해 reverse()를 사용한다. 마지막으로 배열 각 요는를 join('')으로 붙였다.

다 붙여서 한 줄로 쓸 수도 있다.

function solution(n) {
    let answer = parseInt(n.toString().split('').sort().reverse().join(''));
    return answer;
}

➕ ➕JavaScript에서 변수를 선언하는데 사용되는 var, let, const



데일리미션 > 한식 메뉴 렌더링하기

createElement?
: document.createElement()는 JavaScript에서 동적으로 HTML 요소를 생성하는 함수
document.createElement(tagName)
: tagName은 생성할 요소의 태그 이름을 나타내는 문자열. 예를 들어, "div", "p", "ul", "li" 등

➕ ➕


appendChild?

const menuItemLi = document.createElement('li'); // li 엘리먼트 생성
// ...

menuItemLi.appendChild(itemName); // 생성한 li 엘리먼트에 메뉴 이름 추가
menuItemLi.appendChild(itemDescription); // 생성한 li 엘리먼트에 메뉴 설명 추가

0개의 댓글