개수 세기
import sys
def main():
input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split()))
v = int(input())
count = arr.count(v)
print(count)
main()
import sys
def main():
input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split()))
v = int(input())
count = 0
for a in arr:
if a == v:
count += 1
print(count)
main()
1차원 배열 단계와 문자열 단계에서는 가능하면 위와 같이 내장 함수를 사용하는 코드와 같은 기능을 직접 구현하는 코드를 모두 작성하겠습니다. 다른 문제들을 해결하려면 두 코드 모두 이해하고 작성할 수 있어야 합니다.
시퀀스 자료형
시퀀스 자료형은 이터러블 자료형 중에서도 다음 연산들을 지원하는 자료형을 말합니다.
(s
가 시퀀스입니다.)
연산 | 설명 |
---|---|
x in s |
s 에 x 가 포함되어 있는지 확인합니다. |
x not in s |
s 에 x 가 포함되어 있지 않은지 확인합니다. |
s + t |
s 와 t 를 이어붙인 새로운 시퀀스를 만듭니다. |
s * n 또는 n * s |
s 를 n 번 이어붙인 새로운 시퀀스를 만듭니다. |
s[i] |
s 의 i 번째 항목을 가져옵니다. |
s[i:j] |
s 의 i 번째 항목부터 j 번째 항목까지 가져옵니다. |
s[i:j:k] |
s 의 i 번째 항목부터 j 번째 항목까지 k 간격으로 가져옵니다. |
len(s) |
s 의 길이를 구합니다. |
min(s) |
s 의 최솟값을 구합니다. |
max(s) |
s 의 최댓값을 구합니다. |
s.index(x) |
s 에서 항목 x 의 인덱스를 구합니다. |
s.count(x) |
s 에서 항목 x 의 개수를 구합니다. |
지금까지 알아본 자료형들 중에서 list
, str
, range
가 시퀀스 자료형에 속합니다.
1차원 배열 단계에서는 list
에 대해 위 메소드들을 어떻게 활용하는지 하나씩 살펴봅니다.
이터러블을 리스트로 변환하기
list
함수를 사용하면 이터러블의 멤버들을 가진 리스트를 만들 수 있습니다.
따라서 list(map(int, input().split()))
은
- 입력으로 받은 문자열을 공백을 기준으로 나눈 리스트를 만들고,
- 그 리스트의 각 항목을 정수로 변환한 이터러블을 만들고,
- 그 이터러블을 리스트로 변환한 것입니다.
리스트 내 특정 항목 개수 세기
리스트 내 특정 항목의 개수를 셀 때는 count
메소드를 사용합니다.
seq = [3, 1, 4, 1, 5, 9, 2]
print(seq.count(1)) # 2
seq = ["A", "AB", "A", "O", "B", "B"]
print(seq.count("O")) # 1
print(seq.count("A")) # 2
print(seq.count("B")) # 2
print(seq.count("AB")) # 1
print(seq.count("C")) # 0
댓글