문제
머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ array 의 길이 ≤ 100
- 0 ≤ array 의 원소 ≤ 100,000
class Solution {
public int solution(int[] array) {
String answer = "";
for(int arr : array) {
answer += Integer.valueOf(arr);
}
return answer.length() - answer.replace("7", "").length();
}
}
그러나 시간복잡도는 아래 코드가 더 빠르다.
class Solution {
public int solution(int[] array) {
int answer = 0;
for(int a : array){
while(a != 0){
if(a % 10 == 7){
answer++;
}
a /= 10;
}
}
return answer;
}
}
처음 코드는 array의 원소를 하나씩 가져와 문자열로 변환하고
answer에 저장된 문자열 "7"을 하나씩 찾아서 빈 문자열 ("") 로 바꾸는 작업이 있다보니 아무래도 아래 코드가 더 빠른가보다.
출처
https://school.programmers.co.kr/learn/courses/30/lessons/120912