
[프로그래머스] 문자열 + n의 배수의 for문
문제1) 답안1) ** 4번째 글자 => char[3] 8번째 글자 => char[7] 12번째 글자 => char[11] **
문제1) 답안1) ** 4번째 글자 => char[3] 8번째 글자 => char[7] 12번째 글자 => char[11] **
사전지식 : Math.sqrt(), Math.pow() -Math.sqrt(n) : n의 제곱근 -Math.pow(2, 3) : 2의 3제곱 예제1) -로직 : n의 제곱근이 정수인지를 판별한다. => Number.isInteger() : 전달된 값이 정수인지 판단하는 메서드 풀이1) 풀이2) 풀이3)
-생각한 로직 //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) 이중for문으로 풀 수도 있고, filter + includes 로 풀 수도 있음 -s1 배열을 순회하면서, 각 원소 e1이 s2 배열에 포함되어 있는지 확인 -(단, 이때 조건은 s2 배열에 e1이 포함되어 있어야 함) 문제2) 답안1) *sort()와 달리, filter()는 새로운 배열을 반환하므로, 새로운 변수에 할당을 해주어야 함. //3, 4번처럼 하면, 새롭게 반환된 배열은 그냥 버려지게 됨. 문제3) 답안1) 답안2) reduce()메서드 답안3) for ~ of 문 답안4) split 대신 ...(spread 연산자) => 문자열에 전개연산자를 쓰면 : 문자열이 쪼개짐 (split처럼)
1. 답안1) -문자열 -> 배열 : split("") -reverse() -배열 -> 문자열 : join("") function solution(my_string) { //1.split() let splitedString = my_string.split(""); //문자열을 끊은 다음 -> 배열로 return //2.reverse() let reversedArray = splitedString.reverse(); //3.join() let answer = reversedArray.join(""); //배열 -> 문자열 return answer; } console.log(solution("jaron"));