-생각한 로직 //n과 6의 최소공배수 구하기 / 6 //6명 => 1판 (6조각) //10명 => 5판 (30조각) //4명 => 2판 (12조각) 여러 블로그 찾아봤는데 말이 너무 어려워서, 일단 유튜브 강의 중 https://www.youtube.com/watch?v=eyrnst3l8BE을 참고했다. =>이렇게 로직이 된다고 함. for문을 돌건데, 범위는 : 최소 Math.max(a,b) 부터 ~ a * b까지. =>참고해서 푼 나의 풀이 : ❶최대공약수 구하기 //⭐️최대공약수 구하는 로직 function example2(a, b) { let gcd = 0; for (let i = 1; i
답안1) 에러1) 출력시 (if ~ else문을 다르게 표현했을 뿐인데...) => 오류 이유 : if (char === char.toUpperCase)인 경우가 문제임. reult += char.toLowerCase()로직(❶)과 result += char.toUpperCase()로직(❷)이 모두 실행됨. 해결1) 25번째 줄 아래 continue;를 써주면 됨 ⭐️continue vs break : continue는 그 아래 로직으로 내려가지 않게 해주는 것 vs break는 아예 반복문/조건문을 빠져나가는 것 (혼공자 185p 참고)
문제1 풀이1) function solution(n) { var answer = 0; if (i % 2 === 0) { for (let i = 0; i 변수에 초기값을 할당해주지 않으면, undefined로 나옴 2. answer += i 부분이 조금 헷갈림 풀이2) 배열 ; push + reduce 조합 1. [2, 4, 6, 8, ...n]의 짝수배열을 만들어준다. - push() 2. 축적한다. - reduce() function solution(n) { var arr = []; var answer = 0; //짝수배열 생성 for (var i = 0; i 단순 for문 + 순서쌍을 count라는 변수로 설정 풀이2)
답안1) 이중for문 + Math.max 답안2) (나중) 시간 복잡도 관점에서 sort() 메서드는 일반적으로 빠른 정렬 알고리즘을 사용하며, 배열의 길이에 따라 O(n log n)의 시간 복잡도를 가집니다. 이는 배열을 정렬하는 데에만 해당하며, 문제에서 요구한 최댓값을 찾는 과정은 추가적인 반복을 필요로 하지 않으므로 시간 복잡도는 O(n log n)으로 추정됩니다.
Q1. 1. 입력으로 소문자의 알파벳 순으로 정렬된 문자열이 입력됩니다. 2. 각 알파벳은 중복이 가능합니다. 3. 중간에 없는 알파벳이 있을 수도 있습니다. 입,출력 예시와 같이 입력 문자열에 나타나는 각 알파벳의 종류,갯수를 요약하여 나타내시오. Ex 1) abc # a1/b1/c1 Ex 2-1) aaabbbc # a3/b3/c1 Ex 2-2) abbbc # a1/b3/c1 Ex 3-1) ahhhhz # a1/h4/z1 Ex 3-2) acccdeee # a1/c3/d1/e3 A1. function solution(target_str) { //1.결과값(=문자열) 먼저 초기화 let n = target_str.length; let count = 0; let result_str = ''; //2.루프 돌..
Q1. 1. 프로그램이 1~100의 숫자 중 하나를 랜덤으로 정합니다. 2. 사용자는 이 숫자를 맞추어야 합니다! : 입력한 숫자보다 정답이 크면 → “UP” 아니면 → “DOWN”, 정답이면 → “CORRECT” 출력 3. 지금까지 숫자를 입력한 횟수를 알려줍니다. A1. -랜덤숫자(정답) -사용자가 말하는 숫자 -🤔숫자를 입력한 횟수 = else~if반복문의 loop count와 동일 -🤔1~100까지의 수 => ❶Math.random() -> 0 ~ 1 미만의 부동소수점 난수 ❷*100 -> 0 ~ 100 미만의 부동소수점 난수 ❸Math.floor() -> 소수점 이하 버림 : 0 ~ 99의 정수 ❹+1 : 드디어 1 ~ 100의 정수 //사용자 입력을 받기 위해, readline 패키지를 사용 ..