스터디/코딩테스트

javascript 코딩테스트 - 암호 해독

공대생철이 2023. 2. 22. 22:47
728x90

처음에 떠오른 생각

- cipher의 index를 활용해야겠다

- string에서 index로 불러오는 메소드가 뭐였지

 

나의 답

function solution(cipher, code) {
    var answer = '';
    for(let i=1; i<=Math.floor(cipher.length/code);i++){
        
    answer +=cipher.charAt(code*i-1)
    }
    return answer;
}

만약 문자열의 길이가 19이고 code 간격이 4라면 총 19/4의 몫인 4개의 글자가 추출된다.

그래서 반복문 안에는 몫까지 반복문을 돌 수 있도록 설정했다.

그리고 charAt으로 index에 해당하는 문자열을 answer에 추가해주면 답 끝.

 

참고

function solution(cipher, code) {
  var answer = "";
  for (let i = code - 1; i < cipher.length; i += code) {
    answer += cipher[i];
  }
  return answer;
}

나는 index 자체를 배수로 해줄 생각했는데 여기서는 i를 code만큼 덧셈해주어 자동적으로 배수가 되게 했다.

그리고 charAt을 안쓰고 그냥 []를 통해서 string의 문자를 불러올 수 있다는 것도 참고.

728x90