자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다.
📋 문제
한 개의 문자열과 특정 문자를 입력받아 해당 특정 문자가 입력받은 문자열에 몇 개 존재하는지를 찾고 개수를 출력한다.
👉 입력
길이가 100을 넘지 않는 문자열과 특정 문자가 주어진다.
👈 출력
특정 문자의 개수를 출력한다.
📝 풀이
<script>
function solution(s, t) {
let answer = 0;
for (const a of s) {
if (a === t) answer++;
}
return answer
}
let str = "COMPUTERPROGRAMMING";
console.log(solution(str, 'R'));
</script>
인자로 문자열과 특정 문자를 받는다.
for of 문을 사용해 문자열을 순회하며 특정 문자와 동일한 문자가 있으면 answer의 값을 하나씩 더해준다.
순회가 끝나면 answer를 출력한다.
다른 방법으로는 split()을 사용하는 방법이 있다.
<script>
function solution(s, t) {
let answer = s.split(t).length;
return answer - 1;
}
let str = "COMPUTERPROGRAMMING";
console.log(solution(str, 'R'));
</script>
split()을 이용해 특정 문자를 기준으로 입력받은 문자열을 나눈다.
위 코드 속 주어진 문자열 COMPUTERPROGRAMMING을 특정 문자 R을 기준으로 나누면 'COMPUTE', 'P', 'OG', 'AMMING'와 같이 나눠진다.
주어진 문자열 속에 R이 3개가 존재하기 때문에 R을 기준으로 나눴을 때 4개로 나눠진 것이다.
즉, 주어진 문자열 속 R의 개수는 (문자열이 나눠진 개수 - 1)과 같다.
'Algorithm > JavaScript' 카테고리의 다른 글
[basics] 대문자 통일 (0) | 2021.12.05 |
---|---|
[basics] 대문자 찾기 (0) | 2021.12.05 |
[basics] A를 #으로 (0) | 2021.12.05 |
[basics] 일곱 난쟁이 (0) | 2021.12.05 |
[basics] 10부제 (0) | 2021.12.05 |
댓글