본문 바로가기

아래로 스크롤 해주세요!

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

-

총 28개의 태그들이 달렸어요.

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