[코딩 테스트 연습 입문] 7의 개수

2022. 12. 29. 11:29code/[프로그래머스] python

문제

머쓱이는 행운의 숫자 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 합니다.

 

✔풀이

def solution(array):
    answer = 0
    for number in array:
        answer+=str(number).count("7")
    return answer

📝설명

문제에서 주어진 array는 숫자(int)로 구성되어 있는 정수 배열이다.

여기서 각 수가 7을 얼만큼 가지고 있는지 구한 다음, array의 숫자들이 갖고 있는 7의 개수의 합을 구해야 한다.

나는 for문으로 숫자를 꺼낸 다음, 그 숫자를 문자열의 형태로 바꾸고 count로 7의 개수를 센 다음, 그 센 개수를 answer에 계속해서 더해야 겠다고 생각했다.

다시 말하자면, for문으로 array 속 정수를 하나씩 꺼낸 후, str()을 사용해서 문자열로 변경해준다. 

여기에 .count("7")을 하면 7의 개수를 세준다.

왜 "7"을 하냐면, str을 통해 문자열로 바꾸었는데 여기에 그냥 count(7)을 쓴다면, 정수인 7이 있나용? 이라고 하는 것과 같기 때문에 7을 큰 따옴표로 감싸서 문자열 7이 있는지 확인하는 것이다. 

그렇게 count한 결과를 answer에 계속해서 더하면 끝!

 

👑모범 답안

🔎아 for문 안돌려도 되는 거였네....

 

👀느낀 점

: 더 다양한 경우를 생각하면서... 풀어야겠다.

그랬으면 나도 모범 답안처럼 되지 않았을까

 

💻 문제 출처

코딩테스트 연습 - 7의 개수 | 프로그래머스 스쿨 (programmers.co.kr)