화웨이기 시험문제 연습(一)

3646 단어 학습 노트
1. 알파벳과 숫자로 구성된 문자열과 문자를 받아들인 다음 입력 문자열에 포함된 문자의 개수를 출력한다.대소문자를 구분하지 않습니다.
var str  = readline().toLowerCase();
var item  = readline().toLowerCase();
var count = 0;
for(var i = 0; i < str.length; i++){
    if(str[i] == item){
        count += 1;
    }
}
print(count);

2. 문자열의 마지막 단어 길이를 공백으로 구분하여 계산합니다.
while(line = readline()) {
    var arr = line.split(' ');
    console.log(arr[arr.length - 1].length);
}

3. N개의 1에서 1000 사이의 무작위 정수(N≤1000)를 입력하여 무게를 제거하고 오름차순으로 정렬한다.
while(line = readline()) {
    var arr = [];
    for(var i = 0; i < line; i++){
        arr.push(readline());
    }
    var arr1 = [...new Set(arr)];
    arr1.sort(function(a,b) {
        return a-b;
    })
    for(var i = 0; i < arr1.length; i++){
        console.log(arr1[i]);;
    }
}

4. 16진수 문자열을 받아들이고 그 값의 10진수 문자열을 출력하는 프로그램을 작성한다.(여러 그룹을 동시에 입력)
while(line = readline()){
    console.log(parseInt(line, 16));
}
  • 롱형 정수를 입력하고 작은 순서에서 큰 순서로 모든 질수의 인자를 출력하여 빈칸으로 구분한다.마지막 수 뒤에도 빈칸이 있어야 한다.입력 180 출력 2 2 3 5 5
  •      let num = parseInt(readline());
            let arr = [];
            for(let i = 2; i <= num;){
                if(num % i === 0){
                    arr.push(i);
                    num = num / i;
                }else {
                    i++
                }
            }
            print(arr.join(' ')+' ');
    
  • 프로그램이 양부동 소수점 수치를 받아들여 이 수치의 근사 정수치를 출력하는 것을 쓴다.만약 소수점 뒤의 수치가 5보다 크면 위로 정돈한다.5보다 작으면 아래로 정돈한다.
  • var line = readline();
    var res = Math.round(line);
    print(res);
    

    7. 데이터 테이블 기록은 테이블 인덱스와 수치를 포함하고 테이블 인덱스와 같은 기록을 합쳐 같은 인덱스의 수치를 구하고 연산하며 출력은 키 값의 상승 순서에 따라 출력합니다.입력 4 0 1 0 2 1 2 3 4
    출력 0 3 1 2 3 4
    var sum;
    while(sum = readline()) {
        var obj = {};
        for(var i =0; i < sum; i++) {
            var arr = readline().split(' ')
            if(obj[arr[0]]) {
                obj[arr[0]] += parseInt(arr[1]);
            }else {
                obj[arr[0]] = parseInt(arr[1]);
            }
        }
        for(var i in obj) {
            console.log(i + ' ' + obj[i]);
        }
    }
    
  • int형 정수를 입력하고 오른쪽에서 왼쪽으로 읽는 순서에 따라 중복 숫자가 없는 새로운 정수를 되돌려줍니다.9876673 출력 37689
  • 입력
    var line = readline();
    var arr = line.split("");
    var res = [...new Set(arr.reverse())].join("");
    console.log(res);
    

    arr 배열을 다시 설정할 수 있는 new Set
  • 문자열에 포함된 서로 다른 문자의 개수를 계산하는 함수를 작성합니다.문자는 ACSII 코드 범위(0~127)에 있습니다.범위 내에 있지 않은 사람은 통계를 내지 않는다.
  • let str = readline();
    let res = {};
    for(let i = 0; i < str.length; i++){
        let temp = str.charCodeAt(i);
        if(temp <= 127 && temp >= 0){
            res[str[i]] = 1;
        }
    }
    console.log(Object.keys(res).length);
    

    charCodeAt(index)는 지정된 위치의 문자를 부호화합니다.Object.keys(obj)는 자신의 속성을 열거한 대상을 되돌려줍니다.
    10. 정수를 입력하고 이 정수를 문자열 형식으로 역순으로 출력하는 프로그램은 마이너스를 고려하지 않는다. 만약에 숫자가 0을 함유한다면 역순도 0을 함유하고 100을 입력하면 001을 출력한다.
    var str = readline().trim().split("").reverse().join("");
    console.log(str);
    

    11. 영문 문장을 단어 단위로 역순으로 배열한다.예를 들어'I am a boy'는 역순으로 배열된 후'boy a am I'의 모든 단어 사이를 하나의 빈칸으로 구분하고 문장에 영문 자모를 제외하고는 다른 문자를 포함하지 않는다.
    var str = readline();
    var res = [].concat(str.split(" ")).reverse().join(" ");
    console.log(res);
    

    12. 정수 (int 형식) 를 입력하십시오. 이 수를 2진수로 변환한 후 1의 개수를 출력합니다.
    var n = parseInt(readline());
    var num = n.toString(2);
    var count = 0;
    for(var i=0;i

    좋은 웹페이지 즐겨찾기