728x90
문제
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다.
둘째 줄에는 정수가 공백으로 구분되어져있다.
셋째 줄에는 찾으려고 하는 정수 v가 주어진다.
입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.
출력
첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.
예제 입력 1
11
1 4 1 2 4 2 4 2 3 4 4
2
예제 출력 1
3
예제 입력 2
11
1 4 1 2 4 2 4 2 3 4 4
5
예제 출력 2
0
문제 풀이
N = int(input())
L = list(map(int,input().split()))
V = int(input())
print(L.count(V))
count 함수는 문자열 혹은 iterable한 자료형에서 특정 문자의 개수를 찾아 정수로 반환하는 함수입니다.
count(찾고자 하는 문자(열),start,end)
금번 문제 풀이처럼 start와 end는 생략 가능합니다.
생략 시 전체 범위를 탐색합니다.
*dictionary, set 자료형에서는 사용이 불가합니다.
N = int(input())
T = map(int,input().split())
V = int(input())
ans = 0
for i in T:
if i == V:
ans +=1
print(ans)
문제를 보고 처음 생각한 풀이 방법이 위 2가지 방법입니다.
다만 주어진 N을 활용하지 못하는 방안으로 출제 의도에 부합하지 않은 것 같아 아래와 같이 추가로 풀어보았습니다.
N = int(input())
L = list(map(int,input().split()))
V = int(input())
ans = 0
for i in range(N):
if L[i] == V :
ans += 1
print(ans)
저처럼 파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90