목록파이썬 (170)
컴공생의 다이어리
[프로그래머스] 소수 찾기 - 파이썬(Python) import itertools def is_prime(num):# 소수 판별 if num < 2: return False for n in range(2, num): if num % n == 0: return False return True def solution(numbers): prime_num_candidate = [] for i in range(len(numbers)): prime_num_candidate.extend(map("".join, itertools.permutations(numbers, i + 1))) prime_num_candidate = set(map(int, prime_num_candidate)) answer = 0 for num ..
[프로그래머스] 모의고사 - 파이썬(Python) def solution(answers): s1 = [1, 2, 3, 4, 5] s2 = [2, 1, 2, 3, 2, 4, 2, 5] s3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] score = [0, 0, 0] result = [] for idx, ans in enumerate(answers): if s1[idx % 5] == ans: score[0] += 1 if s2[idx % 8] == ans: score[1] += 1 if s3[idx % 10] == ans: score[2] += 1 for idx, s in enumerate(score): if s == max(score): result.append(idx + 1) return ..
백준 2798번 : 블랙잭 (문제 바로가기) 내 코드 import itertools N, M = map(int, input().split()) card_num = list(map(int, input().split())) # M을 넘지 않으면서 M에 최대한 가까운 카드 3장의 합 combi_sum = [sum(combi) for combi in itertools.combinations(card_num, 3) if sum(combi)
큐(Queue) 큐는 대기줄과 유사하다. 맛집의 줄을 서 있는 사람들이 있다고 할 때, 제일 먼저 들어갈 수 있는 사람은 먼저 온 사람이다(이때, 새치기는 없음). 나중에 줄을 선 사람은 마지막에 식당에 들어간다. 이러한 구조를 선입선출(FIFO, First In First Out)구조라고 한다. 파이썬 큐 예제 from collections import deque # 큐 구현을 위해 deque 라이브러리 사용 queue = deque() queue.append(5) queue.append(1) queue.append(4) queue.popleft()# 제일 앞에 있는 원소(5) 제거 queue.append(7) queue.append(2) queue.popleft() queue.append(3) pri..
스택(Stack) 스택은 박스 쌓기와 유사하다. 박스는 아래에서부터 위로 차곡차곡 쌓고 이를 치우기 위해서는 위에서부터 하나씩 들어서 옮긴다. 이러한 구조를 선입후출(FILO, First In Last Out) 혹은 후입선출(LIFO, Last In First Out)구조라고 한다. 파이썬 스택 예제 stack = [] stack.append(5) stack.append(2) stack.append(3) stack.pop() stack.append(1) stack.pop() stack.append(4) print(stack)# 최하단 원소부터 출력 print(stack[::-1]) # 최상단 원소부터 출력 https://gohighbrow.com/stacks-and-queues/ Computer scie..
Python zipfile 모듈로 압축 풀기 - Windows(윈도우) 기준 zip 파일을 파이썬 코드로 압축해제 하려면 아래 코드를 사용하면 된다. 한글이 포함된 이름의 zip파일도 압축 해제하는데 문제없다. import zipfile source_file = '압축을 풀 파일명.zip' with zipfile.ZipFile(source_file, 'r') as zf: zipinfo = zf.infolist() for info in zipinfo: info.filename = info.filename.encode('cp437').decode('euc-kr') zf.extract(info) https://blog.naver.com/PostView.nhn?blogId=jangsam24&logNo=22163..
Mac 파이썬(python) 기본 버전 변경하기 파이썬 다른 버전을 설치해도 Mac 터미널의 기본 파이썬 버전은 2.x.x이다. 보통의 사람들은 python 3버전대를 사용할 것인데 매번 터미널에 python3로 입력해서 실행시키는 것은 너무 귀찮다. 우선 아래 명령어를 통해 설치되어 있는 파이썬 버전을 확인한다. ls -l /usr/local/bin/python* 만일 파이썬 3.8로 변경하고자 한다면 아래 명령어를 통해 파이썬 버전을 변경해주면 된다. 다른 버전으로 변경하고자 한다면 변경하고자 하는 버전만 아래 명령어의 3.8부분을 변경해서 입력해주면 된다. ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python 그리고 나서 터미널을 종료하고 나서 다시 다..
pandas dataframe 특정 조건에 맞는 데이터 추출 pandas dataframe에서 특정 조건에 맞는 데이터를 추출하는 방법에 대해 정리하고자 한다. 데이터가 아래와 같이 있다고 가정한다. import pandas as pd df = pd.DataFrame([{"country":"한국","population":500},{"country":"미국","population":450},{"country":"싱가폴","population":705}, {"country":"호주","population":878},{"country":"베트남","population":660},{"country":"대만","population":808}]) 여기서 만일 country가 한국일 때를 선택하고 싶다면 아래와 같이..
파이썬 디렉토리(폴더)인지 파일인지 구분 만일 폴더 안의 구조가 아래와 같이 되어 있다고 하자. 여기서 폴더는 1학년 1반, 1학년 2반, 1학년 3반이고 파일은 README.md, test.txt, text.txt이다. 파이썬을 통해 폴더인지 확인하고 싶다면 os.path.isdir()함수를 사용하면 된다. 파일인지 확인하고 싶다면 os.path.isfile()함수를 사용하면 된다. 아래 예시 코드를 참고하면 좋을 것 같다. import os # 폴더 안에 있는 모든 폴더와 파일을 list에 저장 list = os.listdir('폴더 경로') # ['1학년 1반', '1학년 2반', '1학년 3반', 'README.md', 'test.txt', 'text.txt'] # os.path.isdir()함수..
Python 운영체제(os) 확인하기 파이썬 코드를 통해 운영체제를 확인하고 싶다면 platform 모듈을 사용해서 정보를 얻을 수 있다. 나의 경우 os만 확인하면 되는 것이라 아래 코드로 충분하지만 혹시 platform 관련 다른 정보가 추가적으로 필요하다면 표에 있는 함수와 아래 첨부한 링크를 참고해서 사용하면 될 것 같다. import platform print(platform.system()) # os | platform.system() 결과 # Linux: Linux # Mac: Darwin # Windows: Windows https://pymotw.com/3/platform/#operating-system-and-hardware-info platform — System Version Inf..