Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 포너블
- 클라우드란?
- kotlin
- pwnable.kr
- 페니빙
- 애너그램 그룹
- col -1 from CursorWindow
- UNIQUE constraint failed
- pwnable
- 6566
- pwable.kr
- Couldn't read row 0
- tlqkf
- 백준
- 나이순 정렬
- Drive-By-Download
- Make sure the Cursor is initialized correctly before accessing data for it.
- 클라우드가 뭐야
- 파이썬
- 블록체인
- SQLiteConstraintException
- 액션바 필요없숴
- Docker
- python
- cmd2
- java.lang.IllegalStateException
- 10814
- 코틀린
- cmd1
- 쏘큩
Archives
- Today
- Total
푸르미르
[python]3052.나머지 본문
주어진 10개의 수를 42로 나눈 나머지를 구한 후 이것들 중 서로 다른값이 몇개나 있는지 출력하는 프로그램이다.
이 문제에서 나는 좀 복잡하게 collection모듈의 counter 클래스를 사용했다. (다른 풀이들을 보니 그럴필요가 없음을 깨달았다.)
데이터의 개수를 계산할 때 용이하기 때문에 사용했다.
1
2
3
4
5
6
7
8
9
10
11
|
from collections import Counter
num_list=[] #주어진 숫자의 나머지를 보관하는 리스트
intersection=0 #중복되는게 몇개나 있는지 보관
for i in range(0,10):
a=int(input())
b=a%42
num_list.append(str(b))
result = Counter(num_list).values()
print(len(result))
|
cs |
일반적으로 Counter('abcabb') 이렇게 하면 Counter({'a' : 2, 'b': 3, 'c': 1})이런 key: value 형태의 딕셔너리 형태가 된다. Counter(num_list)를 하면 형태가 Counter({'0' : 몇개, '1': 몇개, '2': 몇개 ........................'41': 몇개}) 이렇게 나올 것이다. 그래서 Counter(num_list).values() 이렇게 해서 values함수를 사용해 주었다. values 함수는 value(값)을 추출하는 함수이다. 그렇게 하면 해당 서로 다른 나머지가 몇 개가 있는지 개수가 나오게 된다.
그런데 이렇게 안해도 된다.
1
2
3
4
|
a=[]
for i in range(10):
a.append(int(input())%42)
print(len(set(a)))
|
cs |
이렇게 set 함수를 써주는 것이다. set은 집합이다. 중복되는 원소들을 보관할 수 없다. 이 적절한 함수를 까먹고 있었다.
'Baekjoon Online Judge' 카테고리의 다른 글
[python]15596.정수 N개의 합 (0) | 2021.01.02 |
---|---|
[python]4344.평균은 넘겠지 (0) | 2021.01.02 |
[python]2577.숫자의 개수 (0) | 2021.01.01 |
[python]2562.최댓값 (0) | 2021.01.01 |
[python]10818.최소, 최대 (0) | 2021.01.01 |