[Java] 프로그래머스 7의 개수

2023. 1. 31. 20:16알고리즘

728x90

문제 설명

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

제한사항

  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array의 원소 ≤ 100,000

입출력 예

입출력 예 설명

입출력 예 #1

  • [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다.

입출력 예 #2

  • [10, 29]에는 7이 없으므로 0을 return 합니다.

코드 설명

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Solution {
	public int solution(int[] array) {					
        int answer = 0;
        String str = "";
        for (int i = 0; i < array.length; i++) {		
        	str += String.valueOf(array[i]);			
        }
        
        for (int i = 0; i < str.length(); i++) {		
        	if(str.charAt(i) == '7') {					
        		answer++;
        	}
        }
        
        return answer;
    }
//	public static void main(String[] args) {// Scanner 방식
//		Solution T = new Solution();
//		Scanner sc = new Scanner(System.in);
//		int num = sc.nextInt();
//		int[] array = new int[num];
//		for (int i = 0; i < num; i++) {
//			array[i] = sc.nextInt();
//		}
//		System.out.println(T.solution(array));
//		sc.close();
//	}
	public static void main(String[] args) throws IOException {// BufferedReader 방식
		Solution T = new Solution();
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int num = Integer.parseInt(br.readLine());
		int[] array = new int[num];
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");
		for (int i = 0; i < num; i++) {
			array[i] = Integer.parseInt(st.nextToken());
		}
		System.out.println(T.solution(array));
		br.close();
	}
}

ex) int[] array가 [7, 77, 17] 일 때

 

for (int i = 0; i < array.length; i++) {             // 0 ~ 2 까지

        str += String.valueOf(array[i]);            // str += array[0 ~ 2] 번째 값들을 String으로 변환 후 저장, 77717

 }

 

 

for (int i = 0; i < str.length(); i++) {               // 0 ~ 5 str 길이 만큼 반복

        if(str.charAt(i) == '7') {                          // 만약 str(0 ~ 5) 번째 문자가 7 이면 answer 1씩 증가

              answer++;

        }

}

 

728x90