< 오늘의 문제 >
- 가위 바위 보
- 암호 해독
- 대문자와 소문자
가위 바위 보
function solution(rsp) {
var answer = '';
for (let i = 0; i < rsp.length; i++) {
if (rsp[i] === '2') {
answer += '0';
} else if (rsp[i] === '0') {
answer += '5';
} else if (rsp[i] === '5') {
answer += '2';
}
}
return answer
}
- 나의 풀이
: rsp의 요소값에 대해 조건을 걸고 그에 맞는 값을 출력해서 더해줬다. 여기서 더한다는 의미는 문자열의 더하기 임으로
숫자가 합쳐지는게 아닌 서로 붙어있는 값이 나온다. ex) 1+2 = '12'
암호 해독
function solution(cipher, code) {
var result = '';
const newCipher = cipher.toString().split('');
for(let i = 0; i < newCipher.length; i++){
if((i + 1) % code === 0){
result += newCipher[i];
}
}
return result;
}
- 나의 풀이
: code라는 값은 위치를 나타내는 것이 아니라 배수를 나타낸다
즉, code가 4라면, 배열에서 4의 배수 위치에 있는 값을 찾아야 한다
이때 i가 0부터 시작하면 첫 번째 위치가 0이 되므로 (i + 1)
을 사용하여 1부터 시작하는 위치로 조정해야 한다
대문자와 소문자
function solution(my_string) {
var answer = [];
for (let i = 0; i < my_string.length; i++){
if(my_string[i] === my_string[i].toUpperCase()){
answer.push(my_string[i].toLowerCase())
} else {
answer.push(my_string[i].toUpperCase())
}
}
return answer.join("");
}
- 나의 풀이
: 배열에 하나씩 집어넣으면['','','','',''] 식으로 push되기때문에 마지막 answer에 .join으로 마무리했다.