[Day2] 알고리즘

TheJang·2021년 1월 27일
0

알고리즘

목록 보기
3/10
post-thumbnail

1. 나누어 떨어지는 배열

https://programmers.co.kr/learn/courses/30/lessons/12910

풀이

  1. 요소를 divisor로 나눈다
  2. 나누어떨어지는 값을 찾는다.
  3. 오름차순으로 정렬한다.
  4. 반환한다.
function solution(arr, divisor) {    
  let result = arr.filter((el)=> el % divisor === 0).sort((a,b) => a - b);
  return result.length === 0 ? [ -1 ]: result;
}

배운 것

숫자 정렬

  sort((a,b) => a - b)
}

2. 문자열 내마음대로 정렬하기

https://programmers.co.kr/learn/courses/30/lessons/12915

풀이


function solution(strings, n) {
  return strings.sort((a, b) => a[n] == b[n] ? a.localeCompare(b) : a[n].localeCompare(b[n]));
 }

배운 점들

오름차순 정렬

function solution(strings, n) {
  strings.sort((a, b) => a - b )
}

문자열의 n번째 글자를 기준으로 오름차순 정렬

function solution(strings, n) {
  strings.sort((a, b) => a[n] - b[n])
}

n번째 글자가 같은 경우, 사전순으로 정렬

자바 내장메소드 localCompare()

function solution(strings, n) {
  strings.sort(function(a, b) {
  	if(a[n] == b[n]) {
    	a.localeCompare(b)
    } else {
    	a[n].localeCompare(b[n])
    }
  })
}

3. 문자열 내림차순으로 배치하기

https://programmers.co.kr/learn/courses/30/lessons/12917

풀이

  1. 문자열을 배열로 만들어주고 sort를 통해 문자열을 배치한다.

  2. 기본적으로 오름차순이기 때문에 reverse() 자바스크립트 내장메소드를 사용하여 내림차순 바꾼다.

  3. 마지막으로 배열을 다시 문자열로 합쳐준다.

function solution(s) {
  var answer = s.split("").sort().reverse().join("");
  return answer;
}

레퍼런스

github 주소

profile
어제보다 오늘 더 노력하는 프론트엔드 개발자

0개의 댓글