Contents

7의 개수(with.Java)

   Apr 25, 2024     2 min read

β€œ7의 개수(with.Java)” λ¬Έμ œμ— λŒ€ν•˜μ—¬ μ•Œμ•„λ³Έ κΈ€μž…λ‹ˆλ‹€.

μ½”λ”© ν…ŒμŠ€νŠΈ 문제λ₯Ό ν’€λ©°, ν’€μ—ˆλ˜ λ¬Έμ œμ— λŒ€ν•œ νšŒκ³ μ™€ λ‹€λ₯Έ 풀이 방법을 μ•Œμ•„λ³΄λ©°, μ•Œμ•„κ°€κ³ μž ν•©λ‹ˆλ‹€.

λ¬Έμ œμ— λŒ€ν•΄ λ¨Όμ € μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

문제

λ¨Έμ“±μ΄λŠ” ν–‰μš΄μ˜ 숫자 7을 κ°€μž₯ μ’‹μ•„ν•©λ‹ˆλ‹€.

μ •μˆ˜ λ°°μ—΄ arrayκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, 7이 총 λͺ‡ 개 μžˆλŠ”μ§€ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄λ³΄μ„Έμš”.

μ œν•œμ‚¬ν•­

  • 1 ≀ array의 길이 ≀ 100
  • 0 ≀ array의 μ›μ†Œ ≀ 100,000

μž…μΆœλ ₯ μ˜ˆμ‹œ

arrayresult
[7, 77, 17]4
[10, 29]0

λ¬Έμ œμ— λŒ€ν•œ λ‚˜μ˜ 풀이

class Solution {
    public int solution(int[] array) {
        int answer = 0;
        for(int i = 0; i < array.length; i++){
            String str = String.valueOf(array[i]);
            char[] chArr = str.toCharArray();
            for(char ch : chArr){
                if(ch == '7'){
                    answer += 1;
                }
            }
        }
        return answer;
    }
}

풀이 μ„€λͺ…

  1. public int solution(int[] array) : solution λ©”μ„œλ“œλŠ” int 배열을 μž…λ ₯λ°›κ³ , 7의 개수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.
  2. int answer = 0; : answer λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  0으둜 μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€. 이 λ³€μˆ˜λŠ” 7의 개수λ₯Ό μ €μž₯ν•  λ³€μˆ˜μž…λ‹ˆλ‹€.
  3. for(int i = 0; i < array.length; i++) : λ°°μ—΄μ˜ 길이만큼 λ°˜λ³΅ν•˜λŠ” λ°˜λ³΅λ¬Έμž…λ‹ˆλ‹€. λ°°μ—΄ λ‚΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό ν•˜λ‚˜μ”© ν™•μΈν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€.
  4. String str = String.valueOf(array[i]); : λ°°μ—΄μ˜ μš”μ†Œλ₯Ό λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€. λ°°μ—΄μ˜ μš”μ†Œλ₯Ό λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜λŠ” μ΄μœ λŠ” ν•΄λ‹Ή μˆ«μžκ°€ 7인지 ν™•μΈν•˜κΈ° μœ„ν•΄μ„œμž…λ‹ˆλ‹€.
  5. char[] chArr = str.toCharArray(); : λ¬Έμžμ—΄μ„ 문자 λ°°μ—΄λ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ λ³€ν™˜ν•œ μ΄μœ λŠ” λ¬Έμžμ—΄μ„ ν•˜λ‚˜μ”© μˆœνšŒν•˜λ©° 7인지 ν™•μΈν•˜κΈ° μœ„ν•΄μ„œμž…λ‹ˆλ‹€.
  6. for(char ch : chArr) : 문자 λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό ν•˜λ‚˜μ”© ν™•μΈν•˜λŠ” λ°˜λ³΅λ¬Έμž…λ‹ˆλ‹€.
  7. if(ch == '7') : ν˜„μž¬ ν™•μΈν•˜κ³  μžˆλŠ” λ¬Έμžκ°€ 7인지 ν™•μΈν•©λ‹ˆλ‹€.
  8. answer += 1; : λ¬Έμžκ°€ 7일 경우, answer λ³€μˆ˜μ— 1을 λ”ν•©λ‹ˆλ‹€. 즉, 7의 개수λ₯Ό 1 μ¦κ°€μ‹œν‚΅λ‹ˆλ‹€.
  9. return answer; : 반볡문이 λλ‚œ ν›„, 7의 개수λ₯Ό μ €μž₯ν•œ answer λ³€μˆ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μ΄λ ‡κ²Œ κ΅¬ν˜„λœ μ½”λ“œλŠ” 주어진 λ°°μ—΄μ—μ„œ 7의 개수λ₯Ό μ„ΈλŠ” κΈ°λŠ₯을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.