본문 바로가기
728x90
반응형

코딩공부2

백준 10816번 숫자 카드 2번 시간초과 Counter 내장함수 이용 from collections import Counter N=int(input()) list1=list(map(int,input().split(' '))) list1.sort() M=int(input()) list2=list(map(int,input().split(' '))) count=Counter(list1) for i in range(len(list2)): if(list2[i] in count): print(count[list2[i]],end=' ') else: print(0,end=' ') 10815랑 비슷한 문제 처음에 무지성 for문 했다가 오류날 것 같아서 list.count(3) 함수를 통해 리스트 안의 요소를 세어 출력했다. 그런데 시간 초과가 났다. 모두 탐색해서 그런걸까? 이진탐색을 .. 2022. 8. 20.
백준 2231번 분해합 파이썬 풀이 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 예제 입력 1 복사 216 예제 출력 1 복사 198 1부터 M까지 올라가면서 분해합을 구하.. 2022. 8. 1.
728x90
반응형