2. 제한 조건


3. 입출력 예 설명


4. 문제 풀이

function solution(str, num) {
  const bigStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  const smallStr = 'abcdefghijklmnopqrstuvwxyz';
    
  let result = ''; 
  for (let i = 0; i < str.length; ++i) {
    if (str[i] === ' ') result += ' ';
    else if (bigStr.includes(str[i])) {
      let temp = bigStr.indexOf(str[i]) + num;
      result += bigStr[temp % bigStr.length];
    }
    else {
      let temp = smallStr.indexOf(str[i]) + num;
      result += smallStr[temp % smallStr.length];
    }
  }

  return result;
}

5. 문제 풀이 해설

function solution(str) {
    // 분석
    // 매우매우 간단한 문제이다.
    // 그래서 아마도 문자열이 사칙연산과 조합시 어떤 결과가 나오는지
    // 체크하고 이해해보라는 안배가 숨어있는 것 같다.
    
    // 풀이 1
    // 일단 그냥 문자열 -> 숫자 변환 함수 쓰면 문제는 끝나긴 한다.
    // return Number(str);
    
    // 풀이 2
    // 숫자형태의 문자열은 곱셈, 나눗셈, 
    // 뺄셈과 조합시, 연산 수행과 동시에 숫자타입으로 변환된다.
    // 반면 덧셈이랑 조합하면 그대로 뒤에 붙는다. 
		// 즉, 문자열타입은 덧셈 연산만 가능한 셈이다.
    return str * 1;
}