※ 문제
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 문자열의 길이는 100을 넘지 않습니다.
▣ 입력설명
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
▣ 출력설명
첫 줄에 해당 문자의 개수를 출력한다.
▣ 입력예제 1
COMPUTERPROGRAMMING
R
▣ 출력예제
1 3
※ 코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(s, t) {
let answer = 0;
for (let x of s) {
if (x === t) {
answer++;
}
}
return answer;
}
let str = "COMPUTERPROGRAMMING";
console.log(solution(str, 'R'));
</script>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(s, t) {
let answer = s.split(t).length;
return answer - 1;
}
let str = "COMPUTERPROGRAMMING";
console.log(solution(str, 'R'));
</script>
</body>
</html>
※ 설명
- 첫번째 방법 문자열 s의 item들을 for문을 돌려 비교한 후 특정문자 r과 같을 경우 answer에 +1 하는 코드를 작성한다.
- 두번째 방법
- 문자열 s를 split() 내장함수를 사용하여 특정문자 t를 기준으로 구구분하여 새로운 배열을 생성한다. 이후 그 길이(length)에서 -1한 값을 return하는 코드를 작성한다.
※ 핵심
- split() 함수를 사용하여 특정 문자열을 기준으로 구분한 배열을 만든다. 만약 특정문자가 문자열에 마지막에 해당한다면 새로 만든 배열의 마지막 item은 빈 문자열을 만든다.
ex) s = “COMPUTER”, t = “R”
[”COMPUTE”, “ ”]
해당 내용은 김태원님의 자바스크립트 알고리즘 문제풀이 강의를 듣고 작성한 글입니다.
'🤯 코딩테스트 > Javscript' 카테고리의 다른 글
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - 대문자로 통일 (0) | 2022.01.08 |
---|---|
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - 대문자 찾기 (0) | 2022.01.08 |
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - A를 #으로 (0) | 2022.01.08 |
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - 일곱 난쟁이 (0) | 2022.01.08 |
[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - 10부제 (0) | 2022.01.08 |