문제 설명
머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때,
7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.
해결 과정
function solution(array) {
const count = array.join('').split('7').length - 1;
return count;
}
- array에 대해 join('') 메서드를 호출합니다. 이는 배열의 모든 요소를 구분자 없이 하나의 문자열로 연결
- 결과적으로 얻은 문자열을 '7'을 구분자로 사용하여 split('7') 메서드를 호출
- 문자열을 7이 나타날 때마다 나누어서 부분 문자열로 만들어 배열로 반환 ➡️ 반환된 배열의 길이는 원래 배열에서 숫자 7의 횟수를 나타냄
- split() 메서드는 결과적으로 구분자를 부분 문자열의 일부로 포함시키기 때문에, 배열의 길이에서 1을 빼서 7 횟수를 얻음
👉 주어진 배열을 문자열로 변환한 뒤, 문자열에서 숫자 7이 등장하는 횟수를 계산하여 반환하는 코드
📚 String.prototype.split()
split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
예시)
const str = "Hello, World!";
const words = str.split(", ");
console.log(words); // ["Hello", "World!"]
const str = "Hello";
const chars = str.split("");
console.log(chars); //["H", "e", "l", "l", "o"]
📚 Array.prototype.join()
join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.
예시)
const array = [1, 2, 3, 4, 5];
const result1 = array.join(); // 구분자를 지정하지 않음
console.log(result1);
// 출력 결과: "1,2,3,4,5"
const result2 = array.join(' '); // 공백을 구분자로 사용
console.log(result2);
// 출력 결과: "1 2 3 4 5"
const result3 = array.join(' and '); // " and "를 구분자로 사용
console.log(result3);
// 출력 결과: "1 and 2 and 3 and 4 and 5"
참고
'알고리즘' 카테고리의 다른 글
[프로그래머스] 369게임 (0) | 2023.06.20 |
---|---|
[프로그래머스] 배열 회전시키기 (0) | 2023.06.20 |