일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2회기출
- 행별속성합계
- 태블로
- 파이썬입출력
- konlpy
- 파이썬셋
- 파이썬AHP
- 공빅데기관매칭
- 컨테이너
- 파이썬튜플
- 백준 2164
- 파이썬딕셔너리
- 실기
- 워드클라우드
- 셋
- 공공빅데이터청년인턴
- 빅분기
- 딕셔너리
- 파이썬
- 예측모델링
- 빅분기실기
- 백준1920
- 공빅데
- 작업형2
- 리스트
- csv병합
- 빅데이터분석기사
- dataq
- set시간복잡도
- 튜플
- Today
- Total
목록알고리즘 (8)
Data Science
from collections import deque def bfs(x, y): que = deque([(x,y)]) array[x][y] == 1 # array == visited # print(que) flag = 0 while que: x, y = que.popleft() for dx, dy in vec: nx, ny = x+dx, y+dy if nx=n or ny=m: continue if array[nx][ny] == 0: # print(nx, ny) que.append([nx, ny]) array[nx][ny] = 1 flag = 1 return flag n, m = map(int,input().split()) array = [] for i in range(n): array.append(lis..
https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 오답 - 시간초과 N = int(input()) org_list = list(map(int,input().split())) M = int(input()) new_list = list(map(int,input().split())) for num in new_list: cnt = org_list.count(num) print(cnt,end=' ') 처음에 숫자 카드들..

[파이썬] 백준 2164 : 리스트는 큐로 이용하면 안된다. 오답 - 시간초과 n = int(input()) nums = [] for i in range(1,n+1): nums.append(i) while len(nums) > 1: nums.pop(0) nums.append(nums.pop(0)) # print(nums) print(nums[0]) 반복도 한번만 쓰고, 기본 내장함수로 쉽게 풀어냈구나 싶었다. 하지만 시간초과가 났다. 찾아보니 첫번째 요소 pop에 대해서 리스트는 O(n), Deque는 O(1) 이 걸린다. Deque List 구조 및 원리를 살펴보자. 리스트는 첫번째 원소를 제거하는 - pop(0) 을 하면 남아있던 원소들이 한칸씩 이동해서 O(n) 시간이 걸린다. ( pop()의 경우..
[파이썬] 백준 1920 : list와 set의 시간복잡도 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입력 1 5 4 1 5 2 3 5 1 3 7 9 5 예제 출력 1 1 1 0..
SW expert Academy SWEA 파스칼의 삼각형 파이썬(Python) D2 2005번 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5P0-h6Ak4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com arr : 기존 리스트 next_arr : 업데이트된 리스트 # 2005 파스칼의 삼각형 # 케이스수 입력 T = int(input()) for t in range(T): # 삼각형 크기 입력 N = int(input()) # 번호출력 print(f'#{t+1}') # 첫째줄 arr = [1] print(..
세자리 숫자를 두 번 입력받아 각각의 숫자를 뒤집고, 뒤집은 숫자를 대소 비교하여 큰 것을 출력한다. python의 장점인 문자열을 활용하면 좋다. ** 문자열(및 리스트) 뒤집기 A[::-1] ** A,B = input().split() re_A,re_B = A[::-1],B[::-1] re_A,re_B = int(re_A),int(re_B) print(re_A if re_A>re_B else re_B) '''if re_A > re_B: print(re_A) else: print(re_B) '''
set을 활용하면 중복을 쉽게 피할 수 있다. # 함수 d(n) def d(n): a = sum(map(int,str(n))) return a + n # 전체수 all_num = set(range(1,10001)) # 중복 피하기 위해 set 사용 make_num = set() # 생성자인것들 add for i in range(1,10001): i = d(i) make_num.add(i) # 셀프넘버 = 전체넘버 - 생성자넘버 self_num = sorted(all_num - make_num) # 출력 for i in self_num: print(i)
숫자를 입력받아 각 자리수를 출력하자 반복문을 통해 문자열로 변환하여 먼저 문자열 형태로 저장하고 다시 그 문자열을 int형으로 형변환 하도록 한다. number = 1234 a = [] for i in str(number): a.append(i) print(a) # 문자형 a = list(map(int,a)) print(a) # int형 map 함수를 이용하여 각 자릿수의 합을 구해보자 number = 1234 a = sum(map(int,str(number))) print(a)