본문 바로가기

알고리즘 스터디45

[알고리즘] 하샤드 수 문제풀기(자바스크립트 javascript) 👌 x가 예를 들어 13이면 13을 1+3 으로 나눈 값을 구해야 하기 문자열로 먼저 바꿔준다. String(x) // 문자열 13 👌 문자열 13을 1,3으로 배열해주고 변수를 선언한다. let arr = String(x).split('') // 문자열 1,3 👌 1,3을 더하려면 위치를 구해주어야 하니까 for(let i=0; i 2022. 7. 19.
[알고리즘] 콜라츠 추측 문제풀기(자바스크립트 javascript) (풀기 전에 알아야 할 것) 🔹 while : 반복되게 설정 👌 num 이 짝수라면 2로 나누고 홀수라면 3을 곱하고 1을 더해라 if(num % 2 == 0){ num = num/2 // num /= 2 이렇게 표현할 수도 있다. }else{ num = (num * 3) + 1 } 👌 while 반복함수를 사용하는데, 이 조건을 사용해서 1이 안되면 반복하는 것 while(num != 1){ if(num % 2 == 0){ num = num/2 }else{ num = (num * 3) + 1 } // 여기까지가 짝수일때, 홀수일때 조건문 answer += 1; } while 문 안에 들어간 수가 짝수, 홀수를 판별해서 식을 한 번 돌고 나올 때마다, answer +=1로 while 문을 반복하는 횟수를.. 2022. 7. 19.
[알고리즘] 제일 작은 수 제거하기 문제풀이(자바스크립트 javascript) (시작하기 전에 알아야 할 것) 🔹 Math.min(...arr) : arr에서 가장 작은 것 🔹arr.indexOf() : arr에서 ()의 위치 찾기 🔹arr.splice(arr(),1) : arr에서 arr() 해당하는 1개를 빼라 👌 가장 작은 수를 빼야 하니까 arr의 가장 작은 수 찾기 Math.min(...arr) // ... 써줘야 한다. num 이면 ...num 이렇게 👌 저기서 찾은 수의 위치를 찾아줘야 한다. arr.indexOf(Math.min(...arr)) 👌 이 가장 작은 숫자의 위치를 찾아줬으면 빼주면 된다. 1개! arr.splice(arr.indexOf(Math.min(...arr)), 1) 👌 [10] 처럼 1개가 있을 경우 가장 작은 수를 빼면 return 값이 없으므.. 2022. 7. 19.
[알고리즘] 정수 제곱근 판별 문제풀이(자바스크립트 javascript) (시작하기 전에 알아야 하는 함수) 🔹Math.sqrt() : 제곱근을 반환해주는 함수 👌 n이 x의 제곱인지 확인해주기 위해 Math.sqrt() 함수를 써준다. let x = Math.sqrt(n) 이렇게 하고 console.log(x)를 해보면 11과 1.73205000~~~ 으로 정수와 소수점이 나오게 된다 👌 정수라는 의미는 1로 나누었을 때 나머지가 0이라는 의미이므로 if(x % 1 == 0) // 양의 정수라면, 👌 x+1의 제곱을 리턴해라 if(x % 1 == 0){ answer = (x+1) * (x+1) } 👌 아니라면 -1 if(x % 1 == 0){ answer = (x+1) * (x+1) }else{ answer = -1 } ✅ 최종 코드 function solution(n) {.. 2022. 7. 19.
[알고리즘] 정수 내림차순으로 배치하기 문제풀이(자바스크립트 javascript) 👌 먼저 n 숫자를 문자열로 변환해주기 n.toString() // 문자열 118372 👌 문자열로 변환한 n을 배열로 변환해주기 n.toString().split('') // 1,1,8,3,7,2 👌 내림차순으로 배치하기 : sort((a,b) => b-a) 사용해주면됨 n.toString().split('').sort((a,b) => b-a) // 8,7,3,2,1,1 👌배열한 것을 다시 묶어주기 : join('') 사용 n.toString().split('').sort((a,b) => b-a).join('') // 문자열 873211 👌 문자열을 다시 숫자로 변환해주기 : n이 자연수라서 number 나 parseInt 모두 사용 가능 parseInt(n.toString().split('').sor.. 2022. 7. 19.
[알고리즘] 자연수 뒤집어 배열로 만들기 문제풀이(자바스크립트 javascript) 👌 먼저 n이 숫자인데, 문자로 형변환을 해주어야 한다. n.toString() 👌 12345를 1,2,3,4,5 처럼 문자열을 배열로 변환해주어야 한다. split('') n.toString().split() // 1,2,3,4,5 까지 완성 👌 1,2,3,4,5를 5,4,3,2,1 로 뒤집어 주면 된다. reverse() 사용 n.toString().split('').reverse() // 5,4,3,2,1 까지 완성 👌5,4,3,2,1를 [5,4,3,2,1]로 만들어주기 위해 map 함수를 사용한다. map( x => x = parseInt(x)) 여기서 x는 a로 하든, b로 하든 상관 없다. x를 다시 정수로 반환해주어야 해서 parseInt(x) 사용했고 여기까지 완성된 내용을 반환해주면 된다.. 2022. 7. 19.