https://www.acmicpc.net/problem/10807

 

10807번: 개수 세기

첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거

www.acmicpc.net

문제

총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.

 

코드

# 내가 푼 방식
a = int(input())
li = map(int,input().split())
b = int(input())
c = 0
for i in li:
    if(i==b):
        c += 1
    else:
        c += 0

print(c)

count 함수를 몰라서 조건문으로 li 안에 있는 숫자들과 c를 하나씩 비교해서 갯수를 세었음... 

a에서 받은 갯수만큼 수를 입력받으면 자동으로 입력이 끝나게 하는 방법을 찾느라 오래걸렸는데 꼭 갯수만큼 안받아도 됐었다. a는 왜 있는거지..?

#최적의 방식
a = int(input())
li = list(map(int,input().split()))
b = int(input())
print(li.count(b))
  • count : python 리스트 내장 메소드 count() 는 매개변수로 입력된 값이 리스트 안에 몇개 있는지 세어 반환해줍니다

count함수

문자열 안에서 찾고 싶은 문자의 개수를 찾을 수 있다. 어떤 함수는 문자열에서만 사용 가능한 함수도 있는데 count 함수는 튜플, 리스트, 집합과 같은 반복 가능한 iterable 자료형에서도 사용 가능하다. 

 

문자열에서 사용 예시

>>> 'yooojiiihyunnoo'.count('o')
5

리스트에서 사용 예시

>>> test=[2,2,3,3,3,1,4,2]
>>> test.count(3)
3

 

복사했습니다!