Coding Challenge #1

Given an array of forecasted maximum temperatures, the thermometer displays a
string with the given temperatures. Example: [17, 21, 23] will print "... 17ºC in 1
days ... 21ºC in 2 days ... 23ºC in 3 days ..."
Your tasks:
1. Create a function 'printForecast' which takes in an array 'arr' and logs a
string like the above to the console. Try it with both test datasets.
2. Use the problem-solving framework: Understand the problem and break it up
into sub-problems!
Test data:
§ Data 1: [17, 21, 23]
§ Data 2: [12, 5, -5, 0, 4]

문제를 해결하기 위해서는 다음과 같은 두 가지 스텝을 거쳐야 한다.

1. Understanding the problem 문제를 이해하기

2. Breaking up into sub-problems 작은 문제들로 쪼개기

1. 먼저 문제가 뭔지 이해해보자

  • Array transformed to string, separated by ...
    답 예시를 보면 스트링으로 변환되어 있고, ...으로 나누어져 있다.
  • What is the x days? Answer: index + 1
    x days가 무엇일까? 정답은 배열의 인덱스에 1을 더한 값이다.

2. 문제를 이해했으니, 작은 문제들로 쪼개보자

  • Transform array into string
  • Transfrom each element to string with ºC
  • strings need to contain day (index + 1)
  • Add ... between elements and start end of string
  • Log string to console

위를 바탕으로 문제를 풀어보자.

// test data
const data1 = [17, 21, 23];
const data2 = [12, 5, -5, 0, 4];

// what we want to make as a result
console.log(`... ${data1[0]}ºC ... ${data1[1]}ºC ... ${data1[2]}ºC ...`);

// create a function which takes in an array 'arr' 
// and logs a string like the above to the console
const printForecast = function (arr) {
  let str = ''; // for문의 결과값을 연속해서 저장할 변수 선언
  for (let i = 0; i < arr.length; i++) {
    str += `${arr[i]}ºC in ${i + 1} days ...`;
  }
  console.log('... ' + str); // 콘솔에 출력
};
printForecast(data1);
profile
You can't change yourself if you don't know about yourself.

0개의 댓글