ah-ryeong / Ahgorithm

0 stars 0 forks source link

[JavaScript] 이상한 문자 만들기 #4

Open ah-ryeong opened 1 year ago

ah-ryeong commented 1 year ago

문제

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

function solution(s) {
    var answer = '';
    //let arr  = [...s];
    let arr = s.split(" ");
  console.log(arr);
  console.log(arr[0].length);

    for(let i = 0; i < arr.length; i++) {
      for(let j = 0; j < arr[i].length; j++) {
         if(j % 2 === 0) {
           answer += arr[i][j].toUpperCase();
         } else {
           answer += arr[i][j].toLowerCase();
         }
      }
      if (i < arr.length -1) {
        answer += ' ';
      }
    }
    //answer = answer.join("");
    console.log(answer);
    return answer;
}

solution("try hello world");
ah-ryeong commented 1 year ago

처음에 공백도 대소문자에 포함인줄 알고

function solution(s) {
    var answer = [];
    let arr  = [...s];

    for(i = 0; i < arr.length; i++) {
      if(i % 2 === 0) { 
        arr[i] === ''? answer.push(arr[i]) : answer.push(arr[i].toUpperCase()); 
      } else {
         arr[i] === ''? answer.push(arr[i]) : answer.push(arr[i].toLowerCase());
      }
    }
    answer = answer.join("");
    console.log(answer);
    return answer;
}

solution("try hello world");

이렇게 코드 짜고 테스트 돌렸는데 통과하길래 제출했더니 통과 안 돼서 .. 이마 빡빡 쳤다.. 혼자 열 내다가 다른 사람이 공백은 포함 아니라고 해서 그제서야 문제 다시 품 .. ㅎ.. 제출하고 테스트 계속 통과 안 되길래 기계가 문제인줄 알았는데 결국 내가 문제였음을 ㅎ.. 역시 컴퓨터는 거짓말 안 하지.. 내가 하지 ...ㅎ 다른사람 풀이 볼 의욕도 없다😂