본문 바로가기

코딩테스트 스터디

코딩테스트 연습 - 7의 개수 (JAVA)

프로그래머스 코딩테스트 입문 0단계 문제입니다

https://school.programmers.co.kr/learn/courses/30/lessons/120912 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📢 문제 설명

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.

 

⭕ 정답 코드

import java.util.*;
class Solution {
    public int solution(int[] array) {
        return Arrays.toString(array).length() - Arrays.toString(array).replace("7","").length();
    }
}

 

⚠️ 직접 풀어본 처음 풀이

🔗 코드

import java.util.*;
class Solution {
    public int solution(int[] array) {
        return Arrays.toString(array).length() - Arrays.toString(array).replace("7","").length();
    }
}

*정답 코드와 같은 코드이다

 

🔍 해설

1. int 배열을 문자열로 바꾸고 길이를 구해준다

2. 문자열로 바꾼 배열에서 "7"을 공백 문자인 ""로 바꾸고 길이를 구해준다

3. (1.에서 구한 길이) - (2.에서 구한 길이)를 해준다

      ㄴ (원본 문자열의 길이) - (특정 문자를 뺀 문자열의 길이) = (특정 문자의 개수)

 

 

✅ 개선할 점 

배열을 문자열로 바꾼 Arrays.toString(array)를 변수에 저장해서 사용하면

가독성을 더 높일 수 있을 것 같다

짧은 것에 더 가치를 두어 변수를 사용하지 않고 풀었다