알고리즘 문제 57

알고리즘 문제 js 35 -문자열 내 마음대로 정렬하기

내가 쓴 코드 function solution(strings, n) { return strings.sort((a,b) => {// 정렬 함수 사용 if(a[n] > b[n]){ return 1 } //a의 n번째 자리가 b의 n번째 자리보다 큰경우에 1을 리턴하고 else if (a[n] = b){ return 1} //a가 b보다 크거나 같다면 1을 리턴하고 else { return -1}//아니면 0을리턴해라 } }) } sort()함수는 - 값이 양수 일때는 위치를 바꿔주고, - 값이 음수 일때는 위치를 그대로 해준다. 기본적으로 a는 배열의 [0] 번째 부터 시작하고, b는 배열의 [1]번째 부터 시작하여 인덱스 값이 점점 늘어나면서 비교하게 된다. 📍 https://programmers.co.k..

알고리즘 문제 2022.02.05

알고리즘 문제 js 30- 최소직사각형

이 문제는 문제에 대한 이해부터 필요하다!!! 나는 처음에 두 가로 세로를 곱해서 가장 큰수를 내보내 보려고 했으나 그게 아니라 가로 세로 중에 작은것만 있는 것 중에 가장 큰수 가로 세로 중에 큰것만 있는 것 중에 가장 큰수 이 두개를 곱해야 하는 문제였다. 그럼 여기서 문제는 어떻게 접근해야 하는가 1. 작은것만 담을 배열을 만든다 2. 큰것만 담을 배열을 만든다 3. 배열을 반복하던, 복사하던 새로운 배열을 생성해 담는다 (방법은 map을 쓰던지 for문을 쓰던지) 4. 새로 생성된 배열에서 가장 큰 값들을 가져와서 곱한다 의 방식으로 접근 해봐야 한다 내가 쓴 코드 function solution(sizes) { let small = [];//작은 수를 담을 새 배열 생성 let big = [];..

알고리즘 문제 2022.01.28

알고리즘 문제 js 29- 3진법 뒤집기

내가 쓴 코드 function solution(n) { let answer = n.toString(3).split('').reverse().join('') return parseInt(answer, 3); } - toString(radix) : 수를 문자열로 리턴!!!!!!! 인자명 데이터 필수/옵션 설명 radix number 필수 0~36사이의 정수 2 : 2진수 8 : 8진수 16 : 16진수 - string.split(separator, limit) : 문자열을 주어진 기준문자열로 쪼개서 배열에 담는다! 인자명 데이터형 필수/옵션 설명 separator string 옵션 문자열을 분리하는 기준 문자열, 사용하지 않으면 전체 문자열을 하나의 원소로 담고 있는 배열을 리턴한다 limit number ..

알고리즘 문제 2022.01.26

알고리즘 문제 js 27 - 코랄츠 함수

내가 쓴 코드 function solution(num) { let answer = 0; while (num != 1){ //while문 함수 사용 조건이 거짓이 될때까지 돌아라 즉 숫자가 1이 되면 멈춰라! if(num % 2 ==0){ //숫자가 짝수면 num = num/2 // 나누기2를 하고 answer++ // +1 해주기 } else { num = (num*3)+1 answer++ } if (answer >= 500){ // 위 조건문과 다르게 떨어저야 혹시나 있을 500에 대응할 수있음 return -1} } return answer; //최종 카운트된 값을 찾아야 하니까 answer 값을 출력 }

알고리즘 문제 2022.01.19