본문 바로가기

전체 글

(58)
Itertools 함수의 순열조합 정리 import itertools (또는 from itertools import product/permutations/combinations) data=['a', 'b', 'c', 'd'] 하나일 때 1. 순열: N개중 R개 선택하되, 순서존재 (permutations) 순서O 중복X **(1,2)와 (2,1)은 별개의 배열로 처리함 **순열 이므로 배열의 경우의 수까지 계산 2. 조합: N개중 R개 선택하기 (combinations) 순서X 중복X **(1,2)와 (2,1)은 같은 것으로 처리함==먼저 나온(1,2)하나만! **조합이므로 가능한 모든 경우의 수만 계산 +) 중복조합뽑기는 combinations_with_replacement(리스트, r) data1= ['a', 'b','c'] data2=[..
[PRO/프로그래머스] 완전탐색 소수찾기 파이썬 DAY 2022.03.23 프로그래머스 완전탐색 소수찾기 풀이 1. 소수판별함수 만들기 2. 기존solution함수에서 itertools의 permutations함수 이용하여 조합 형성->형성된 조합 숫자가 1번 소수판별함수의 소수이면 ans리스트에 append 3. ans리스트에 중복된 값 제거를 위해 set이용 프로그래머스 완전탐색 소수찾기 코드 itertools개념 따로 정리해서 포스팅할예정
[PRO/프로그래머스] DFS/BFS 네트워크 파이썬 DAY 2022.03.21 프로그래머스 네트워크 풀이 그냥 원래 네트워크 문제처럼 인덱스 0 , 1 , 2 , 3 (=사람노드번호) grp그룹을 만들어줌 [ [] , [2], [1,3], [2]] 그리고나서 dfs로 탐색 프로그래머스 네트워크 코드
[PRO/프로그래머스] 그리디 구명보트 파이썬 DAY 2022.03.22 프로그래머스 그리디 구명보트 풀이 효율성 때문에 변경한 방법 풀이다. 사람 무게 sort한 후 큐를 이용하여 첫사람,끝사람을 구함. first+last가 limit일 경우를 나눠 판단 프로그래머스 그리디 구명보트 코드 효율성은 실패지만 테스트케이스 15개는 구현 통과됐던 풀이 테스트케이스 15개는 전부 통과했으나, 시간 효율성,,FAIL,,아직 나에게 시간복잡도는 크나큰 벽같다. 그나저나 다 풀고나서 베스트코드를 봤더니 ,,이 사람 천재다. 큐없이 인덱스만으로 while a
[BOJ/백준] 11497번 통나무 건너뛰기 파이썬 DAY 2022.03.21 백준 11497번 통나무 건너뛰기 풀이 백준 11497번 통나무 건너뛰기 코드
[BOJ/백준] 1316번 그룹 단어 체커파이썬 DAY 2022.03.20 자소서내느라 양심은 없지만 실버5투척 백준 1316번 그룹 단어 체커 풀이 백준 1316번 그룹 단어 체커 코드
[BOJ/백준] 13549번 숨바꼭질3 파이썬 DAY 2022.03.19 백준 13549번 숨바꼭질3 풀이 숨바꼭질1 풀이에서, 순간이동일때를 우선순위로 두는 거로 응용! if 순간이동일때, else 그 외의 경우(x+1,x-1): 백준 13549번 숨바꼭질3 코드
[BOJ/백준] 12851번 숨바꼭질2 파이썬 DAY 2022.03.19 와 이거 오래걸렸다..답을 참고했어도 어려워서 결국 솔루션 로직으로 내 방식으로 풀었다. 백준 12851번 숨바꼭질2 파이썬 풀이 핵심 솔루션: 첫 n==k일때 시간(short_time)를 저장해둔 뒤, cnt된 시간이 그 시간보다 크면 제외하기 (즉, short_time처음으로 n==k일때 short_time을 해당 cnt로(최소시간으로) 변경해주고 result_cnt+=1 ->이후부터는 n==k이면 result_cnt+=1만 해주기 주의사항: visited 방문시 True로 변환해줘야하는데, 이걸 append가 아닌 popleft()하고 바로 뒤에 해줘야함 백준 12851번 숨바꼭질2 파이썬 코드