ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 온보딩 커리큘럼(알고리즘풀기 기초 0단계 2일차)
    항해99(온보딩커리큘럼) 2023. 3. 13. 20:43

    머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n 과 k 가 매개변수로 주어졌을 때, 양꼬치 n 인분과 음료수 k 개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.

    function solution(n, k) {
      return 12000 * n + (k - parseInt(n / 10)) * 2000
    }
    console.log(solution(10, 3))
    

    머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n 이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.

    function solution(n) {
      return parseInt(n / 7) === 0 ? parseInt(n / 7) + 1 : parseInt(n / 7)
    }
    

    머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice 와 피자를 먹는 사람의 수 n 이 매개변수로 주어질 때, n 명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

    function solution(n) {
      return parseInt(n / 7) === 0 ? parseInt(n / 7) + 1 : parseInt(n / 7)
    }
    

    머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice 와 피자를 먹는 사람의 수 n 이 매개변수로 주어질 때, n 명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

    function solution(slice, n) {
      return Math.ceil(n / slice)
    }
    

    사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다.

    • x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다.
    • x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다.
    • x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다.
    • x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다.

    x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.

    function solution(dot) {
      const x = dot[0]
      const y = dot[1]
      if (x > 0 && y > 0) {
        return 1
      }
      if (x < 0 && y > 0) {
        return 2
      }
      if (x < 0 && y < 0) {
        return 3
      }
      return 4
    }
    

    머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.

    구매한 옷의 가격price

    가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.

    function solution(money) {
      let number = parseInt(money / 5500)
      let Changes = money - (number * 5500)
      return [number, Changes]
    }
    

    어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.

    function solution(n) {
      let result = 1
      for (i = 1; i < n; i++) {
        if (i * i === n) {
          result = 1
        } else {
          result
        }
      }
      return result === 0 ? 2 : 1
    }
    function solution(n) {
      let x = Math.sqrt(n)
      if (x %1 === 0) {
        return 1
      } else {
        return 2
      }
    }
    

     

    마지막 제곱근 구하는건 처음에 제곱근을 구하는 메서드를 모르고 for문으로 풀었다. 

    오늘 sqrt메서드를 배웠고 다만 이전에는 아예 풀지도 못했던걸 이제는 풀수는 있어서 성취감 있었다.

    좀 더 기본기를 갖추고 풀면 더 좋은 방법으로 풀 수 있을 것 같다는 생각이 들었다. 

    오늘부터 알고리즘 풀기인데 0단계는 혼자 다 풀어보고싶다. 

Designed by Tistory.