코딩테스트를 대비하여 문제를 한개씩 풀어보는 게 좋을 것 같아서 인프런 강의를 구매했다.
매일은 아니더라도 꾸준히 공부해서 실력을 키워나가야지…!
Lst’s GO…!


문제 : 대문자로 이루어진 영어단어가 입력되면 단어에 포함된 ‘A’를 모두 ’#‘으로 바꾸어 출력하는 프로그램을 작성하세요.

입력예제1 : BANANA
출력예제1 : B#N#N#



입력받은 문자열을 하나씩 떼는 게 관건이었기 때문에,
split으로 문자 하나씩 잘랐다.
그리고 A일 때 #으로 바꾸고 문자들을 하나씩 누적해서 출력했다!


내가 푼 내용

function mySolution(str){
    let answer="";
    let arr = str.split("");

    for(let i=0; i<arr.length; i++){
        if(arr[i] === "A"){
            arr[i] = "#";
        }
        answer += arr[i];
    }

    return answer;
}



정답코드를 보자…!

function solution(str){
    let answer="";
    for(let x of str){
        if(x=='A') answer+='#';
        else answer+=x;
    }
    return answer;
}



문자열을 for문으로 바로 받아서 구현할 수 있다는 사실을 전혀 몰랐다…!!!
새로운 사실을 알게됐다 ㅋㅋ
그리고 나는 문자열을 #으로 바꾼 뒤, 그걸 다시 배열에 넣었는데 불필요한 과정이었다.
어차피 문자 하나씩 누적해주는 형태이기 때문에 바로 answer에 누적해주면 되는 거였는데…ㅠㅠ
불필요한 과정은 없는지 꼭꼭 확인하는 작업이 필요할 것 같다.
그리고 아직 내가 모르는 것들이 정말 많구나 라고 생각이 들었다.
꾸준히 공부해나가자….!!!