본문 바로가기
프로그래밍 및 개발/알고리즘 문제풀이

[백준] 10807. 개수 세기 - 알고리즘 문제풀이

by typenine9 2022. 12. 2.
300x250

 

문제.

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

 

 

10807번: 개수 세기

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

www.acmicpc.net

 

입력은 다음과 같이 이루어진다.

 

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가 몇 개 있는지 세어야 한다.

 

방법을 구상하던 중 리스트 내에서 지정한 변수가 몇 개 인지 찾는 함수가 있다는 걸 알게 됐다.

 

 

[python] 파이썬 리스트 찾고자 하는 값 개수 세기 - count()

파이썬을 배우면서 리스트는 정말 많이 써보는 거 같다. 배열을 가공할 수 있는 함수도 많고, 이 기능들을 짧은 코드로 구현할 수 있으니 장점이 많아 보인다. 이번엔 리스트 내에 원하는 값을

typenine9.tistory.com

 

count함수 덕분에 for문 돌리면서 f와 리스트 내의 변수와 비교하여 숫자 카운트 하는 과정을

 

생략할 수 있었다.

 

 

 

그리고 일종의 편법 같지만

 

풀다보니 리스트 크기를 굳이 지정하지 않아도

 

문제 푸는데는 지장이 없었다.

 

 

 

이 문제에서는 리스트에서 count()라는 함수를 발견한게

 

큰 수확이지 않을까 싶다.

<