[백준][1차원 배열] 10807번 -python

랼류·2023년 11월 26일
1
post-thumbnail

백준 10807번: 개수 세기

문제


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

입력


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

출력


첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.

입출력예시


문제풀이

1차원 배열 첫 문제, 10807번: 개수 세기

배열을 입력받고 배열에 해당 숫자가 몇개 있는지 확인하는 코드를 작성하는 문제이다.
이 문제를 보고 가장 먼저 생각난 두가지는 splitcount이다.
이를 토대로 작성한 코드는 아래와 같다.

  • 작성코드
N = int(input())
n_list = input()
v = input()
print(n_list.split().count(v))

사용 함수 - split()

.split()

: 특정 문자를 기준으로 문자열을 나누는 함수
input - 문자열 / output - 리스트

  • 사용 방법(형태)
    '문자열 담긴 변수'.split('특정 문자')
    #괄호 안('특정 문자') 기본값은 공백
  • Ex.
a_string = 'ba na na'
a_string.split() # output; ['ba', 'na', 'na']
b_string = 'hi, ho,hi k'
b_string.split(',') # output; ['hi', ' ho', 'hi k']

사용 함수 - count()

.count()

: 특정 변수 내에 있는 요소의 개수를 찾는 함수
input - 문자열, 리스트, 튜플, 집합 등 반복 가능한 iterable 자료형 (cf. 딕셔너리, 세트(set) 자료형은 불가)
out - int형

  • 사용 방법(형태)
    '변수'.count('찾고 싶은 요소')
  • Ex.
a_string = 'ba na na'
a_string.count('a') #output; 3
a_list = [1, 2, 3, 3, 4, 2, 5]
a_list.count(3) #output; 2

시행착오

  • split() 함수의 반환 형태가 list형이란 걸 모르고 리스트를 새로 생성해 결과를 리스트에 넣었다.
    이중 리스트에 작성된 값에서 count() 함수로 특정 숫자 개수를 찾으려하면 당연히 결과값은 '0' 밖에 안나온다...

오늘의 교훈

  • 어떤 함수를 사용하든 결과값의 반환 자료형을 항상 정확히 알아두자!
profile
준비~ 시작!

1개의 댓글

comment-user-thumbnail
2023년 11월 26일

⭐⭐⭐⭐⭐ (5.0/5.0)
가독성이 뛰어나고 사용 함수에 대한 설명이 상세해 이해하기 쉽습니다.
또한 저와 같은 시행착오를 겪으신 것 같아 더욱 공감됩니다.
앞으로의 성장이 매우 기대되는 개발자입니다. 화이팅입니다. 스컬~!!

답글 달기