230317_Algorithm

majungha·2023년 4월 28일
1

알고리즘

목록 보기
4/71

오늘의 알고리즘 👍

📝 코드캠프 문제027. 가장 큰 수 찾기


  • str은 무작위 숫자인 문자열입니다.
  • 해당 문자열에서 가장 큰 수를 구하는 함수를 만들어야 합니다.
  • 만약 str에 "12345"가 들어온다면 "5"를 나타내야 합니다.

▷ 입출력 예

bigNum("12345"); // 5
bigNum("87135"); // 8
Math.max(1, '2', 3, 4, '5') // 5

▷ 내 풀이

function bigNum(str) {
  let max = 0;

  for (let i = 0; i < str.length; i++) {
    let num = Number(str[i]);
    if (max <= num) {
      max = num;
    }
  }
  console.log(max);
}

▷ 수업 풀이1

function bigNum(str) {
	let biggest = 0;

	for( let i = 0; i < str.length; i++ ) {
		if( Number(str[i]) > biggest ) {
			biggest = Number(str[i])
    }
  }
	
	return biggest
}

▷ 수업 풀이2

function bigNum(str) {
	let biggest = Number( str[0] );

	for( let i = 1; i < str.length; i++ ) {
		if( Number(str[i]) > biggest ) {
			biggest = Number(str[i])
    }
  }
	
	return biggest
}

📝 코드캠프 문제41. 조건문 실전 적용 - 점수에 따른 등급


  • 입력되는 score에 따라 알맞은 등급을 적어야 합니다.
  • 100~90 → "A", 89~80 → "B", 79~70 → "C", 69~60 → "D", 59점 이하는 "F"
  • 100점 초과나 0점 미만은 "잘못된 점수입니다"라는 문구를 띄워주세요

▷ 입출력 예

grade(105)  // "잘못된 점수입니다"
grade(-10)  // "잘못된 점수입니다"
grade(97)   // "A"
grade(86)   // "B"
grade(75)   // "C"
grade(66)   // "D"
grade(52)   // "F"

▷ 내 풀이

function grade(score) {
  if (score > 100 || score < 0) {
    console.log("잘못된 점수입니다.");
  } else if (100 >= score && 90 <= score) {
    console.log("A");
  } else if (80 <= score) {
    console.log("B");
  } else if (70 <= score) {
    console.log("C");
  } else if (60 <= score) {
    console.log("D");
  } else {
    console.log("F");
  }
}

📝 코드캠프 문제43. 마이페이지


  • myShooping은 내가 구매한 목록을 보여주고 있습니다.
  • 해당 목록에서 "의류"를 구매한 횟수와 총 금액을 나타내고,
  • "의류"를 구매한 횟수에 따라 등급을 나타내세요.
  • "0~2" ⇒ Bronze, "3~4" ⇒ Silver, 5이상 ⇒ Gold

▷ 내 풀이

const myShopping = [
  { category: "과일", price: 12000 },
  { category: "의류", price: 10000 },
  { category: "의류", price: 20000 },
  { category: "장난감", price: 9000 },
  { category: "과일", price: 5000 },
  { category: "의류", price: 10000 },
  { category: "과일", price: 8000 },
  { category: "의류", price: 7000 },
  { category: "장난감", price: 5000 },
  { category: "의류", price: 10000 },
];

let count = 0;
let totalPrice = 0;
for (let i = 0; i < myShopping.length; i++) {
  if (myShopping[i].category === "의류") {
    count++;
    totalPrice = totalPrice + myShopping[i].price;
  }
}

if (count >= 0 && count <= 2) {
  console.log(
    `의류를 구매한 횟수는 총 ${count}회 금액은 ${totalPrice}원이며 등급은 Bronze입니다.`
  );
} else if (count <= 4) {
  console.log(
    `의류를 구매한 횟수는 총 ${count}회 금액은 ${totalPrice}원이며 등급은 Silver입니다.`
  );
} else if (count >= 5) {
  console.log(
    `의류를 구매한 횟수는 총 ${count}회 금액은 ${totalPrice}원이며 등급은 Gold입니다.`
  );
}

📝 프로그래머스 문제 문자열을 정수로 바꾸기


  • 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
  • s의 길이는 1 이상 5이하입니다.
  • s의 맨앞에는 부호(+, -)가 올 수 있습니다.
  • s는 부호와 숫자로만 이루어져있습니다.
  • s는 "0"으로 시작하지 않습니다.

▷ 내 풀이

function solution(s) {
  var answer = Number(s);

  return answer;
}

출처: 프로그래머스
출처: 코드캠프

profile
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!

0개의 댓글