코린이에서 코른이로..(반복문)

양선우·2022년 12월 21일
0

반복문에 관하여

어제에 이어 오늘도 알고리즘 문제를 풀었다.
반복문의 기본은 for(반복의 조건){
반환 될 값
}
반복의 조건엔 세가지가 들어간다
1. i = 값, <= 시작하게 될 default 값이다
2. i < ~~.length <= 반복문이 끝나는 시점
3. i++ <= 반복문이 행해지는 값

이다.

바로 문제를 풀어보도록 하자. 반복문은 생각보다 어려웠다..

Q. 문제

수를 입력받아 0부터 해당 수까지의 합을 리턴해야 합니다.

입력
인자 1 : num
number 타입의 정수 (num >= 0)
출력
number 타입을 리턴해야 합니다.

function sumTo(num) {
  // TODO: 여기에 코드를 작성합니다.
  let result = 0;
for (let i = 0; i <= num; i++){
  result = result + i;
}
return result;
  }

Q. 문제

수(num)를 입력받아 1부터 num까지의 정수로 구성된 문자열을 리턴해야 합니다.

입력
인자 1 : num
number 타입의 정수 (num >= 1)
출력
string 타입을 리턴해야 합니다.

function makeDigits(num) {
  // TODO: 여기에 코드를 작성합니다.
  let result = '';
  for (let i = 1; i <= num; i++){
   result = result + String(i);
  }

  return result;
}

Q. 문제

수(num)를 입력받아 1부터 num까지의 정수로 구성된 문자열을 리턴해야 합니다.

입력
인자 1 : num
number 타입의 정수 (num >= 1)
출력
string 타입을 리턴해야 합니다.

function makeDigits2(num) {
  // TODO: 여기에 코드를 작성합니다.
 let result = "1";
  let i = 2;
  while(i <= num){
    result = result +'-'+ String(i);
    i++;
  }

  return result;
}

Q. 문제

수를 입력받아 1부터 해당 수까지의 수 중에서 3의 배수로만 구성된 문자열을 리턴해야 합니다.

입력
인자 1 : num
number 타입의 정수 (num >= 0) 이상의 정수)
출력
string 타입을 리턴해야 합니다.

function makeMultiplesOfDigit(num) {
  // TODO: 여기에 코드를 작성합니다.
  let result = "";
  for(let i = 1; i <= num; i++){
    if (i % 3 === 0){
     result = result + i;
    }
  } return result;
}

Q. 문제

문자열과 문자를 입력받아 문자열에서 문자(letter)가 등장하는 횟수를 리턴해야 합니다.

입력
인자 1 : str
string 타입의 문자열
인자 2 : letter
string 타입의 문자
letter.length는 1
출력
number 타입을 리턴해야 합니다.

function countCharacter(str, letter) {
  // TODO: 여기에 코드를 작성합니다.
let result = 0;
for (i=0;i<str.length;i++) {
 if(str[i] === letter ){
   result++;
 }
} return result;
}

Q. 문제

숫자 문자열을 입력받아 문자열을 구성하는 각 숫자 중 가장 큰 수를 나타내는 숫자를 리턴해야 합니다.

입력
인자 1 : str
string 타입의 숫자 문자열
출력
string 타입을 리턴해야 합니다.

function getMaxNumberFromString(str) {
  // TODO: 여기에 코드를 작성합니다.
let result ="";
let arr = Array.from(str);
 for (i=1;i<=1;i++){
  if(str ===""){
    return "0";
  } if(arr.length>=1){
    result = result + Math.max(...arr);
  }
 } return result;
}

Q. 문제

문자열과 두 개의 문자(from, to)를 입력받아, 문자열에 등장하는 특정 문자(from)가 다른 문자(to)로 바뀐 문자열을 리턴해야 합니다.

입력
인자 1 : str
string 타입의 문자열
인자 2 : from
string 타입의 문자
from.length는 1
인자 3 : to
string 타입의 문자
to.length는 1
출력
string 타입을 리턴해야 합니다.

function replaceAll(str, from, to) {
  let result = '';

  for (let i = 0; i < str.length; i++) {
    if (str[i] === from) {
      result = result + to;
    } else {
      result = result + str[i];
    }
  }

  return result;
}
profile
코딩이 하고 싶은 사람

0개의 댓글