300x250
문제.
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
입력은 다음과 같이 이루어진다.
11
1 4 1 2 4 2 4 2 3 4 4
2
첫째 줄의 11은 리스트의 크기,
둘째 줄의 숫자들은 지정한 리스트 내 들어갈 숫자들,
마지막 2는 리스트 안에서 찾아야 하는 숫자이다.
위 같이 입력을 하면
리스트 안에 2라는 숫자가 몇 개 있는지 확인하여
아래와 같은
3
이 출력 된다.
위의 입력 같은 경우 리스트 안에 있는 2라는 숫자가 3개 있기에
3이 출력된다.
풀이.
문제를 보면
리스트의 크기 지정하는 과정이 있어야 하고,
리스트를 지정하는 과정도 필요하고,
그리고 리스트 내의 지정한 숫자를 카운트 하는 과정이 요구된다.
이러한 과정을 거쳐 구현한 코드가 바로 이것이다.
n = int(input())
l = list(map(int, input().split()))
f = int(input())
print(l.count(f))
변수 n이 리스트의 크기를 입력 받고,
변수 l이 리스트 내에 들어갈 숫자들을 입력 받았다.
그리고 변수 f는 리스트 안에서 찾아야 할 숫자를 받아 입력을 완료했다.
이제 f를 이용하여 l안에 f가 몇 개 있는지 세어야 한다.
방법을 구상하던 중 리스트 내에서 지정한 변수가 몇 개 인지 찾는 함수가 있다는 걸 알게 됐다.
count함수 덕분에 for문 돌리면서 f와 리스트 내의 변수와 비교하여 숫자 카운트 하는 과정을
생략할 수 있었다.
그리고 일종의 편법 같지만
풀다보니 리스트 크기를 굳이 지정하지 않아도
문제 푸는데는 지장이 없었다.
이 문제에서는 리스트에서 count()라는 함수를 발견한게
큰 수확이지 않을까 싶다.