
꾸준히 하는 즐거움을 느낀 날😊
오늘도 10문제를 풀었다. 전날보다 난이도가 찔끔 올라간 감이 있지만 푸는데 어려움은 없었다. 그러나 다양성은 있었다. 다른 사람들이 푼 문제들을 보면서 '이렇게도 풀 수 있구나' 하고 깨달은 부분들이 많다.
특히 ES6를 적극적으로 활용하는 거에 있어서 놀라웠다. 물론 나도 활용할 줄은 알지만, 경험이 부족해서 어떻게 잘 활용할지 몰랐다. 그래서 다른 사람들이 푼 과정을 통해 나 또한 한 걸음 더 성장할 수 있었다.
오늘의 문제
삼각형의 완성조건
삼각형의 완성 조건은 a+b > c 이다. c는 세 변의 길이 중 가장 긴 값이다.
이 문제에서는 세 변의 길이를 갖고 있는 배열이 주어질 때, 삼각형을 이룰 수 있으면 1을 반환하고 이룰 수 없으면 2를 반환하는 문제다. 예를 들면 [1, 2, 3] 이 들어오면 삼각형을 이룰 수 없기 때문에 2를 반환하지만, [2, 8, 4]이 들어오면 가장 긴 변이 8이고 2+4는 6이기 때문에 삼각형을 이룰 수 있다. 그래서 1을 반환할 수 있다.
const max = Math.max(numbers);
const [num, num2] = numbers.sort();
이런 식으로 문제를 풀었다. 그러나 다른 사람들의 풀이를 보니까 sort() 메서드만으로 간단하게 풀었다.
function solution(numbers) {
numbers = numbers.sort((a,b) => a-b)
return numbers[0]+numbers[1] > numbers[2] ? 1 : 2;
}
sort() 메서드를 똑같이 사용했지만, Javascript만의 문법과 삼항 연산자를 사용해서 보다 쉽게 풀었다.
2일차 정리하기
ES6 문법을 잘 사용하는 Lv.0를 만들자.
오늘까지 문제를 풀어보고 깨달았다. if문, for문도 좋지만, Javascript를 사용하는 이유는 ES6를 이용하여보다 편하게 코드를 작성할 수 있다는 점이다. 그렇기 때문에 Lv.0일수록 ES6를 쉽게 사용할 수 있도록 하는 습관을 들여야겠다.