[プログラマー]2014 TIL


私が今日担当している가운데 글자 가져오기없는 숫자 더하기以外の4つの質問の答えを整理したいです.
アルゴリズムはC言語だけで少し触れたことがありますが、今はまだすべてのJavaScript文法が使えるわけではありません.難しいですが、一つ一つ学んで解決しなければなりません…!
長方形で撮影
問題の説明
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
せいげんじょうけん
  • nとmはそれぞれ1000以下の自然数である.

  • 入力5 3しゅつりょく
    *****  
    *****  
    *****
    問題を解く
    予め与えられたコード部分
    process.stdin.setEncoding('utf8');
    process.stdin.on('data', data => {
        const n = data.split(" ");
        const a = Number(n[0]), b = Number(n[1]);
        console.log(a);
        console.log(b);
    });
    この部分です.
    process.stdin.setEncoding('utf8');
    process.stdin.on('data', data => {
        const n = data.split(" ");
        const a = Number(n[0]), b = Number(n[1]);
    
        for (let i = 0; i<b; i++) {
            let str = "";
            for (let j = 0; j<a; j++) {
                str += "*";
            }
            console.log(str);
        }
        
    });
    変数iを宣言した後、出力する行数(b)のfor文を作成し、出力する変数strを宣言します.
    変数jを宣言した後、出力する星()の数を繰り返すfor文を出力する変数に書き込む.
    問題のプロンプトで矩形の星を出力するコンソール.log()に出力します.
    パリティ
    問題の説明
    정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.
    せいげんじょうけん
  • numはint範囲の整数です.
  • 0は偶数です.
  • I/O例
    numreturn3"Odd"4"Even"
    問題を解く
    function solution(num) {
        if (num % 2 == 0) {
            return "Even"
        } else {
            return "Odd"
        }
        return answer;
    }
    以前はC言語でも解っていたので、簡単に解けるようです.
    偶数か奇数かifゲートで判別しました.(残りが0の場合は偶数、そうでない場合は奇数)偶数の場合は「Even」、そうでない場合は「Odd」を返します.
    他人のコード
     function evenOrOdd(num) {
      return num % 2 ? "Odd" : "Even";
    }
    
    私は3つの演算子でコードを書きましたが、こんな行に縮めることができました.やはり私はまだ長い道のりがあります.
    2つの整数の合計
    問題の説明
    두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
    예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
    せいげんじょうけん
  • aおよびbの場合は、両方のいずれかに戻ってください.
  • aおよびbは、−1000000または1000000以下の整数である.
  • aとbのサイズ関係は不確定である.
  • I/O例
    abreturn35123335312
    問題を解く
    function solution(a, b) {
        let answer = 0;
        let min;
        let max;
        
        if (a >= b){
            max = a;
            min = b;
        } else {
            max = b;
            min = a;
        }
        
        for (let i = min; i<=max; i++){
            answer += i;
        }
        
        return answer;
    }
    答え値を返す必要があるので、まず答え値を0に初期化します.そして小数大数を区別するために変数min,maxを宣言した.
    ドアを通過すると、aがbより小さいか大きい場合はmax、bがmin、逆にaがmin、bがmaxとなる.
    aとbの間のすべての整数の和を求める必要があるため、for文により、iがminの場合、iがmax以下になるまでiを増やして終了し、iの値をresponseに入れる.
    その後、コードを作成して答えの値を返します.
    他人のコード
    function adder(a, b){
        var result = 0
    
        return (a+b)*(Math.abs(b-a)+1)/2;
    }
    
    私は15行ですか?これは大まかなコードを書いたもので,この1人は2行で問題の要求を実現した.
    私たちはMath Methodを深く学ぶべきだと思います.
    文字列を整数に置換
    問題の説明
    문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
    せいげんじょうけん
  • sの長さは1または5以下です.
  • sの一番前に記号(+,-)があるかもしれません.
  • sは、シンボルと数値のみから構成されます.
  • sは「0」で始まりません.
  • I/O例
    예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
    str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
    問題を解く
    function solution(s) {
        return (Number(s))
    }
    検索すると、JavaScriptでnumber()という名前のメソッドは文字列をデジタル出力に変換する機能を持っているため、number()を使用して問題を解決します.
    Number()は、他のデータ型を数値フォーマットに変換するために使用できるNumber構造の関数です.入力パラメータが定義されていないか、数値に変換できない場合は、NANを返します.
    他人のコード
    function strToInt(str){
      return str/1
      }
    文字列と数字列の4つの演算は、数字列を利用して生成されたコードのようなものです.
    一日を振り返る
    JavaScriptをたくさん勉強する必要があると思います.