[프로그래머스] 레벨1 220421

Yoon_Jung·2022년 4월 20일
0

코딩테스트

목록 보기
5/5
post-thumbnail

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

나의 풀이

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

다른사람의 풀이

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

sort를 사용한 풀이도 처음에 생각했는데 컨디션을 어떻게 줘야할지 고민이 되어서 그냥 sort후 뒤집었다ㅎㅎ

📝부족한 금액 계산하기

나의 풀이

function solution(price, money, count) {
    let answer = money;
    for(let i=1; i<=count; i++) {
        answer -= price*i;
    }
    return answer < 0 ? -(answer) : 0;
}

다른사람의 풀이

function solution(price, money, count) {
    const tmp = price * count * (count + 1) / 2 - money;
    return tmp > 0 ? tmp : 0;
}

가우스 공식을 이용한 풀이
가우스 공식 => 1부터 n까지의 합은 n*(n+1)/2

📝시저 암호

다른사람의 풀이

function solution(s, n) {
    var upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var lower = "abcdefghijklmnopqrstuvwxyz";
    var answer= '';

    for(var i =0; i <s.length; i++){
        var text = s[i];
        if(text == ' ') {
            answer += ' '; 
            continue;
        }
        var textArr = upper.includes(text) ? upper : lower;
        var index = textArr.indexOf(text)+n;
        if(index >= textArr.length) index -= textArr.length;
        answer += textArr[index];
    }
    return answer;
}
function solution(s, n) {
	return s.split("").map(e => {
          if(" " == e) return e;
      return e.toUpperCase().charCodeAt(0) + n > 90 ?
          String.fromCharCode(e.charCodeAt(0)+n-26) :
          String.fromCharCode(e.charCodeAt(0)+n); 
    }).join(""); 
}

charCodeAt() : 아스키코드 번호로 변환해주는 함수
fromCharCode : 아스키코드 번호를 받아 문자열로 변환해주는 함수

profile
https://codekyz.tistory.com/

0개의 댓글