본문 바로가기

아래로 스크롤 해주세요!

My Reference Book

-

제가 배웠던것을 한곳에 정리해보았어요!

HTML

HTML 태그 톺아보기

HTML

자세히보기

CSS

CSS 속성 톺아보기

CSS

자세히보기

JAVASCRIPT

JS 실행문 톺아보기

JAVASCRIPT

자세히보기

최신댓글

프로그래머스

프로그래머스 1단계 : 시저 암호!

by C0Di 2022. 12. 5.
728x90

프로그래머스 1단계

시저 암호 문제를 풀어보자 ✂️


시저 암호!

split과 map을 사용하여 답을 도출해낸 방법입니다.

1. split 으로 문자열을 나누었을때 띄어쓰기가 포함되어 있으므로 띄어쓰기가 있으면 그대로 return 합니다
2. 문자라면 두번째 줄로 넘어가며 해당 문자를 대문자로 바꿔서 문자를 아스키코드로 변환하고 n을 더했을때 90(아스키코드에서 Z에 해당) 초과라면 값을 나타낼 수 없고
3. 만약 90을 초과한다면 해당 값에서 26(알파벳 갯수)을 빼주고 그게 아니라면 n을 더한 그 값만 return 해주면 됩니다.

function solution(s, n) {
    return s.split('').map(v => {
        if(v === ' ') return v;
        return v.toUpperCase().charCodeAt()+n > 90 ? String.fromCharCode(v.charCodeAt()+n-26) : String.fromCharCode(v.charCodeAt()+n)
    }).join('');
}

시저 암호 : 다른 사람 풀이

if를 화살표 함수로 표햔해 각각 최대 공약수/공배수를 구하는 방법입니다.

1. alphabetArray에 모든 배열의 값을 저장해놓고
2. indexOf 로 배열에서 인덱스를 알아낸 후
3. 인덱스에 n을 더한다.
4. 최종 result 반환

function caesar(s, n) {
    var result = "";
    // 함수를 완성하세요.
    var alphabetArray = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
                       "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
                       "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
                       "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
                       "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
                       "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
                       "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
                       "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
                       " "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",
                       " "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",
                       " "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",
                       " "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",];

    var splitArray = s.split("");

    for(var i = 0 ; i < splitArray.length ; i++)
  {
    var mn = alphabetArray.indexOf(splitArray[i]);
    splitArray[i] = alphabetArray[mn+n];

    result = result + "" + splitArray[i];
  }

  return result;
}
728x90
반응형

댓글

#HASH_TAGS

-

1

멈추지 않는 ' j ' 시리-즈 오징어 두마리 포획 완료 제이쿼리 다크모드 선택해주세요 필터선택자 숙제가 다양해서 너무 좋아요 ImageSlideEffect 메서드 슬라이드 결과 : 월요일 공부 울적하니 꽃을 달아봤습니다 scroll-snap-type 내일은 즐거운 월요일 오늘은 내가바로 오징어! 코딩 이건 또 뭐람 오징어 한마리 수확 완료! 오늘도 웹표준은.. HTML 코드 Method 화사한가요? scroll-snap-align JQuery 오늘 조업 마감했습니다. 오징어 1Kg 당 3000원