[프로그래머스]Algorithm_23.03.31_정렬

윤성해·2023년 3월 31일
0

알고리즘

목록 보기
13/22
post-thumbnail

💡 arr.sort() - 오름차순으로 정렬
💡 charCodeAt() - 알파벳이 가진 고유번호 확인(아스키번호)
💡 replace () - 문자열은 그 인덱스값으로 변경 못함 조회만 가능. 리플레이스로 문자열 변경가능
💡 join("") - 문자열로 리턴(?)

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

문제

  • 자리 바꿔야하는거 temp 사용하기
  • 오름차순 내림차순 sort 기억
  • 문자열을 변경할 수 있는 메서드 replace(첫번째 인자는 변경하고 싶은거 인덱스 인자는 변경할 문자

레퍼런스

function solution(s) {
    return s.split("").sort((a,b)=> a>b ? -1:1).join("")
}

참고

아스키번호 확인

sort는 숫자랑 문자열에서 사용할 때 차이가 있다. 숫자는 오름차순을 명시를 해주어야 하는데 문자는 필요없다.

근데 문자열에서도 해줄 수 있긴한데, 숫자랑 명시하는 방법이 다르다.
a가 b보다 크면 오름차순! 바꾸면 내림차순 이방법은 숫자에서도 적용이 된다.
배열에 숫자, 문자가 섞여있을 수 있으니까 아래와 같은 방법으로 항상 사용을 하자~~~


나누어 떨어지는 숫자 배열

문제

내생각

  1. arr 반복문으로 돌리고
  2. i가 divisor으로 나누어 떨어지면 ,
  3. 빈배열에 담기

레퍼런스



2.메서드

function solution(arr, divisor) {
    const answer = arr.filter(el => {
        // console.log(el, divisor)
        return el % divisor === 0;
    })
    return !answer.length ?[-1]: answer.sort((a,b)=> a> b ? 1 : -1);
}

3.위 코드 정리

function solution(arr, divisor) {
    const answer = arr.filter(el => !(el % divisor));
        // console.log(el, divisor)
        // return el % divisor === 0;
    
    return !answer.length ?[-1]: answer.sort((a,b)=> a> b ? 1 : -1);
}
profile
Slow and steady wins the race.

0개의 댓글