티스토리 뷰

[문제]

출처 : https://school.programmers.co.kr


[해답]

- 내가 작성한 코드... 이번만큼은 내가 작성한게 제일 좋은 것 같기도????

class Solution {
    public int solution(int[] array) {
        int answer = 0;
        for(int i = 0; i < array.length; i++) {
            String temp = String.valueOf(array[i]);
            if(temp.indexOf("7") == -1) {
                continue;
            } else {
                String rplcStr = temp.replace("7", "");
                answer += temp.length() - rplcStr.length();
            }
        }
        return answer;
    }
}
------------------------------------ 더 간단하게 해봤다. ------------------------------------
class Solution {
    public int solution(int[] array) {
        int answer = 0;
        for(int i = 0; i < array.length; i++) {
            String temp = String.valueOf(array[i]);
            String rplcStr = temp.replace("7", "");
            answer += temp.length() - rplcStr.length();
        }
        return answer;
    }
}
------------------------------------ 더더 간단하게 해봤다. ------------------------------------
class Solution {
    public int solution(int[] array) {
        int answer = 0;
        for(int i = 0; i < array.length; i++) {
            answer += String.valueOf(array[i]).length() - String.valueOf(array[i]).replace("7", "").length();
        }
        return answer;
    }
}

 

- 참고할 만한 풀이

1.

import java.util.*;
import java.util.stream.Collectors;

class Solution {
    public int solution(int[] array) {
        int answer = 0;
        answer = (int) Arrays.stream(
            Arrays.stream(array)
            .mapToObj(String::valueOf)		// Stream<String>으로 변환
            .collect(Collectors.joining())	// Stream에서 작업한 결과를 1개의 String으로 이어붙이기
            .split("")				// String이 담긴 배열(array) 형태가 된다.
            					// 이걸 또 Stream으로 만들어줘야한다.(아래 filter method 사용해야하니까)
        ).filter(s -> s.equals("7")).count();

        return answer;
    }
}

https://velog.io/@zion9948/Stream%EC%97%90%EC%84%9C-MapToObj-%EB%9E%80

 

Stream에서 MapToObj() 란

인텔리제이를 이용해서 알고리즘을 푸는데 스트림을 사용할때 자꾸 인텔리제이가 map을 mapToObject로 변경하라고 옵션을 주길래 무지성으로 일단 빨간줄을 없애기 위해서 변경을 하였다. 근데 그

velog.io

2.

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;
    }
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함