Algorithm/JavaScript53 [basics] 일곱 난쟁이 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 👉 입력 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.. 2021. 12. 5. [basics] 10부제 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하지 못한다. 또한, 자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다. 여러분들은 일일 경찰관이 되어 10부제를 위반하는 자동차의 대수를 세는 봉사활동을 하려고 한다. 날짜의 일의 자리 숫자가 주어지고 7대의 자동차 번호의 끝 두 자리 수가 주어졌을 때 위반하는 자동차의 대수를 출력하면 된다. 👉 입력 첫 줄에는 날짜의 일의.. 2021. 12. 5. [basics] 홀수 합과 최솟값 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 7개의 자연수가 주어질 때, 이들 중 홀수인 자연수를 모두 골라 총합을 구하고 고른 홀수 중 최솟값을 찾아 합과 최솟값을 출력한다. 👉 입력 첫번째 줄에 100보다 작은 자연수 7개가 입력된다. 7개의 수 중 홀수는 하나 이상 존재한다. 👈 출력 첫번째 줄에 홀수들의 총합을 출력하고 두번째 줄에 홀수들 중 최솟값을 출력한다. 💡 사용된 개념 filter, reduce filter와 reduce에 대해서는 아래 링크에서 따로 포스팅해두었다. https://cansweep.tistory.com/179?category=995363 [ES6+] map, filter, reduce 함수형 프로그래밍과 JavaScript ES6+ 강의를 듣고 .. 2021. 12. 5. [basics] 최솟값 구하기 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 7개의 수가 주어지면 그중 최솟값을 출력한다. 👉 입력 첫번째 줄에 7개의 수가 입력된다. 👈 출력 첫번째 줄에 가장 작은 값을 출력한다. 💡 사용된 개념 전개연산자 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 또는 요소로 확장한다. const num = [1, 2, 3]; console.log(num); console.log(...num); // output // [1, 2, 3] // 1 2 3 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_syntax 전개 구문 - JavaScript | MDN 전개 구문을 사용하면 .. 2021. 12. 5. [basics] 1부터 N까지의 합 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 자연수 N이 입력될 때 1부터 N까지의 합을 출력한다. 👉 입력 첫번째 줄에 20 이하의 자연수 N이 입력된다. 👈 출력 첫번째 줄에 1부터 N까지의 합을 출력한다. 📝 풀이 2021. 12. 5. [basics] 연필 개수 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 연필 1 타는 12자루이다. N명의 학생에게 1인당 연필을 1자루씩 나누어 준다고 할 때, 필요한 연필의 타 수를 출력한다. 👉 입력 첫번째 줄에 1000 이하의 자연수 N이 입력된다. 👈 출력 첫번째 줄에 필요한 연필의 타 수를 출력한다. 💡 사용된 개념 Math.floor() 주어진 숫자와 같거나 작은 정수 중 가장 큰 수를 반환한다. => 내림 Math.round() 입력값을 반올림한 수와 가장 가까운 정수 값을 반환한다. => 반올림 Math.ceil() 주어진 숫자보다 크거나 같은 숫자 중 가장 작은 숫자를 반환한다. => 올림 https://developer.mozilla.org/ko/docs/Web/JavaScript/R.. 2021. 12. 5. [basics] 삼각형 판별하기 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 길이가 서로 다른 세 개의 막대 길이를 입력받아 이 세 개의 막대로 삼각형을 만들 수 있으면 "YES", 아니면 "NO"를 출력한다. 👉 입력 첫번째 줄에 100 이하의 서로 다른 세 개의 자연수가 주어진다. 👈 출력 "YES" 혹은 "NO"를 출력한다. 💡 사용된 개념 제일 긴 선의 길이가 다른 두 선의 합보다 작으면 삼각형을 만들 수 있다. 📝 풀이 삼각형을 만들 수 있는지를 판별하기 위해서는 가장 긴 막대의 길이와 세 막대 길이의 총합이 필요하다. for of문 안에서 세 개의 수를 순회하며 가장 큰 수를 max에 저장하고 총합을 sum에 저장한다. if문에서 만약 나머지 두 막대 길이의 합(= sum에서 max를 뺀 값)이 가.. 2021. 12. 5. [basics] 3개의 숫자 중 최솟값 구하기 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 100 이하의 자연수 3개를 입력받고 그중 제일 작은 값 출력하기 👉 입력 3개의 자연수가 입력됨 👈 출력 3개의 자연수 중 최솟값 하나 출력 📝 풀이 answer라는 변수에 Number.MAX_SAFE_INTEGER를 이용해 안전한 최대 정수값(2^53 - 1)을 저장한다. 이후 입력받은 수들을 순회(num)하며 값을 비교해 가장 작은 값을 answer에 저장한다. 내가 풀었을 때는 이렇게 풀었는데 다른 답으로는 아래의 답도 있다. 어차피 입력이 세 개밖에 없으니 이렇게 풀어도 될 것 같다. 이걸 보니 1학년 때가 생각나기도 하고... 2021. 12. 5. 이전 1 ··· 3 4 5 6 다음