본문 바로가기

Algorithm/인프런(inflearn)86

[ 자바스크립트(JavaScript) ] 11 - 대문자로 통일 📍 11 - 대문자로 통일 앞서 푼 문제와 동일한 방식으로 풀면 된다. console.log(solution("ItisTimeToStudy")); // ASCII function solution(s) { let ans = ""; for(let x of s){ let num = x.charCodeAt(); if (num>=97 && num 2021. 8. 12.
[ 자바스크립트(JavaScript) ] 10 - 문자 찾기 📍 09 - 문자 찾기 특정문자를 찾을 때 for문을 사용해도 되고 아니면 split(target)을 타겟기준으로 나눈 다음 -1을 해줘도 된다. 만약 target이 제일 마지막에 있으면 어떻게 될까? 마지막에 공백이 추가되기 때문에 마찬가지로 -1을 해주면 된다. console.log(solution("COMPUTERPROGRAMMING", "G")); // for - of function solution(s, target){ let cnt = 0; for (let i of s){ if (i === target) cnt += 1 } return cnt; } // split function solution(s, target){ let answer = s.split(target); return answer.. 2021. 8. 11.
[ 자바스크립트(JavaScript) ] 09 - A를 #으로 📍 08 - A를 #으로 A를 모두 #으로 바꾸기만 하면 되는데, 3가지 방법으로 풀었다. split() + map() for - of replace + reg 마지막에 정규식의 /A/g는 대문자 A를 모두(g) #으로 바꿔달라는 의미다. console.log(solution("BANANA")); // 1. split() + map() function solution(s){ s = s.split("").map((item) => item === "A" ? "#" : item) return s.join(""); } // 2. for - of function solution(s){ let answer = ""; for (let i of s){ if (i === "A") answer += "#" else ans.. 2021. 8. 11.
[ 자바스크립트(JavaScript) ] 08 - 일곱 난쟁이 📍 08 - 일곱 난쟁이 이 문제는 python을 이용해서 백준에서 풀어봤던 문제다. JS로 한번 풀어봤다. 핵심 로직을 찾는 부분에서 시간이 조금 걸렸는데, 결론적으로 9개 중 2개의 값을 뺐을 때 100이 되는 경우의 수를 모두 구하면 되고, bruteForce를 이용하면 된다. 또, 지금 생각났지만 처음 풀 때 python으로 slice를 이용했지만 실패했었다. 왜냐하면 앞 index부터 slice를 하게 되면 전체 배열의 길이가 줄어들기 때문에 error가 나기 때문이다. 따라서, 앞보다는 뒤에서부터 slice를 이용해서 풀면 된다. (j 인덱스는 i인덱스보다 항상 +1 많기 때문에 오류가 나지 않는다.) 여담으로 백준 코드를 제출할 때 자꾸 오답 판정을 받았는데 이유를 찾아보니 trim()을 안.. 2021. 8. 11.
[ 자바스크립트(JavaScript) ] 07 - 10부제 📍 07 - 10부제 배열의 일의 자리 숫자가 day와 같은 값이 총 몇개인지 세는 문제인데, filter를 이용하면 금방 찾을 수 있다. 여기서 알아두면 좋은 점은 어떤 값을 10으로 나눈 나머지는 일의자리 수가 나온다는 점이다. let day = 3; let cars = [12, 20, 54, 30, 87, 91, 30]; console.log(solution(day, cars)); function solution(day, cars){ let violateCar = cars.filter((car) => car % 10 === day); return violateCar.length; }; 2021. 8. 11.