Codewars 챌린지 5일차: JS, Python + SQL 및 PHP

자바스크립트와 파이썬



세부



이름 카타: Sum of Digits / Digital Root
6쿠이
설명: n이 주어졌을 때, n의 자릿수 합을 취하십시오. 해당 값이 두 자리 이상인 경우 한 자리 숫자가 생성될 때까지 이 방법으로 계속 줄입니다. 입력은 음수가 아닌 정수입니다.
예시:

    16  -->  1 + 6 = 7
   942  -->  9 + 4 + 2 = 15  -->  1 + 5 = 6
132189  -->  1 + 3 + 2 + 1 + 8 + 9 = 24  -->  2 + 4 = 6
493193  -->  4 + 9 + 3 + 1 + 9 + 3 = 29  -->  2 + 9 = 11  -->  1 + 1 = 2


내 솔루션



파이썬




def digital_root(n: int) -> int:
    n_str = str(n)
    while len(n_str) > 1:
        r = 0
        for i in range(len(n_str)):
            r = r + int(n_str[i])
        n_str = str(r)
    return n if (n >= 0 and len(str(n)) == 1) else r


자바스크립트(TypeScript4)




export const digitalRoot = (n:number):number => {
    return String(n).length == 1 
      ? n : digitalRoot(
        String(n).split("").map((n) => Number(n)).reduce(
          (previousValue, currentValue) => previousValue + currentValue, 0)
      )
};


PHP



세부



이름 카타: You're a square!
7쿠이
설명: 당신은 빌딩 블록을 좋아합니다. 당신은 특히 정사각형 블록을 좋아합니다. 그리고 당신이 더 좋아하는 것은 그것들을 정사각형 빌딩 블록의 정사각형으로 배열하는 것입니다!

그러나 때로는 정사각형으로 배열할 수 없습니다. 대신 일반 직사각형으로 끝납니다! 저 망할 것들! 현재 헛된 일을 하고 있는지 알 수 있는 방법이 있다면… 잠깐! 그게 다야! 빌딩 블록의 수가 완전 제곱인지 확인하기만 하면 됩니다.


정수가 주어지면 제곱수인지 확인합니다.

In mathematics, a square number or perfect square is an integer that is the square of an integer; in other words, it is the product of some integer with itself.

테스트는 항상 일부 정수를 사용하므로 동적 유형 언어에서는 이에 대해 걱정하지 마십시오.
예시:

-1  =>  false
 0  =>  true
 3  =>  false
 4  =>  true
25  =>  true
26  =>  false


내 솔루션




function isSquare(int $n): bool {
  return sqrt($n) == (int)sqrt($n) ? true : false;
}


SQL



세부



이름 카타: SQL Basics: Truncating
7쿠이
설명: 다음 테이블 '십진수'가 주어집니다.
십진수 테이블 스키마

id
number1
number2

값이 0쪽으로 잘린 number1 + number2의 결과인 0을 향한 단일 열이 있는 테이블을 반환합니다.

내 솔루션




SELECT TRUNC(number1 + number2) AS towardzero FROM decimals

좋은 웹페이지 즐겨찾기