본문 바로가기

Python6

[백준✨] 16566번 <카드 게임> / Python 문제풀이 / 해답) import sys import math def input(): return sys.stdin.readline().rstrip() ''' @@@ 입력받기 @@@ ''' N, M, K = map(int, input().split()) cards = list(map(int, input().split())) targets = list(map(int, input().split())) ''' @@@ 필요한 자료구조 @@@ ''' sqrt_N = int(math.sqrt(N)) cards_presence = [0] * (N+1) # 해당 카드가 존재하는지 dummy = [0] * (sqrt_N+1) # 인덱싱을 하는 역할 for c in cards: cards_presence[c] += 1 dummy[c /.. 2020. 12. 21.
[Python] 파이썬 2차원 리스트 Slicing / 일부분 선택, 추출하기 ✨ 파이썬에서 1차원 리스트을 슬라이싱하는건 간단합니다. arr = "ABCDE" arr[0:3] = "ABC" 하지만 리스트가 2차원 이라면? 꽤나 골치아파지죠. numpy를 이용하면 되지만, numpy가 익숙하지 않은 저로서는 그냥 파이썬 문법을 이용합니다! 2차원 배열 Slicing 2차원 배열 을 순회하면서 특정 2차원 배열만 빼내어 보고싶을 때! 어떻게 해야할까요? 예시를 드릴테니 한번 맞춰보세요 ! 5 * 5 크기의 OX 판이 있습니다. [ "OXOOO", "XOXXO", "OOXOO", "XOOOX", "OXOXO", ] 이 맵의 일부분이 3 * 3 인 다음과 같은판과 일치하는지 확인하고 싶습니다. [ "OXO", "XOX", "OXO", ] 어떻게 하면 좋을까요? 답은 좀 더 보기 편한 리스트.. 2020. 8. 1.
[Python] 파이썬 Heapq 모듈 사용하기 / 힙(Heap) 구조 Heap 이란Heap 이란 자료구조 형태 중 하나로서 우선순위 큐를 위해 만들어진 구조이다. (자세한 Heap에 대해 : https://gmlwjd9405.github.io/2018/05/10/data-structure-heap.html 참고) 코딩 테스트 문제 중 최솟값 , 혹은 최댓값을 계속해서 호출해야 하는 상황인 경우 Heap 구조를 이용하여 구현하면 시간측면에서 굉장히 효율적인 구현이 가능하다. import heapqheapq 모듈을 이용하여 힙 자료구조를 사용할 수 있다. heapq 는 내장 모듈이므로 따로 설치가 필요하지 않는다. 기본적으로 Min-priority-queue 구조를 가지고 있다.import heapq 기존 배열을 Heap 구조로 - heapify() testheap = [1,.. 2019. 12. 11.
[Python] 파이썬 유용한 함수들 1탄 / 코딩 테스트에 유용한 함수들 1. zip - 두 iterable 을 한 인자씩 묶어서 튜플 배열로 반환한다. Big = ['A','B','C','D','E'] small = ['a','b','c','d','e'] Big_and_small = list(zip(Big,small)) print(Big_and_small) ↓ [('A', 'a'), ('B', 'b'), ('C', 'c'), ('D', 'd'), ('E', 'e')] * String 2개를 zip 할 수도 있다. Big = "ABCDE" small = 'abcde' Big_and_small = list(zip(Big,small)) print(Big_and_small) ↓ [('A', 'a'), ('B', 'b'), ('C', 'c'), ('D', 'd'), ('E', 'e'.. 2019. 11. 13.
[파이썬] from import / 모듈 가져오기 import 패키지 - 패키지.변수 - 패키지.함수() - 패키지.클래스() 등으로 사용할 수 있다. *패키지 앞에 . 을 붙여주면 그 폴더 내에 있다는 뜻이다. 예시) import requests URL = "www.programming119.tistory.com" res = requests.get(URL) requests.get(URL).text requests.get(URL).status_code 이런식으로 requests를 써주고 뒤에 . 을 통해 변수,함수, 클래스 등을 이용할 수 있다. from 패키지 import 변수or함수 -패키지 명 없이 바로 변수와 함수를 쓸 수 있다. 예시) from requests import get URL = "www.programming119.tistory.co.. 2019. 11. 9.
[프로그래머스] 완전탐색 2번 소수 찾기 - Python 해답 ) 1. 아리스토텔레스의 체 방식을 이용해 소수를 구분해주는 리스트를 만듭니다. 이게 하나하나 체크하는것보다 빠르다고 하더라구요! (* 참조 : https://geonlee.tistory.com/115) 2. itertools 라이브러리를 이용하여 모든 케이스의 순열들을 all_arr 리스트에 집어 넣습니다. (여기서 순열이라함은 수들을 나열해서 만들 수 있는 모든 케이스를 뜻합니다! ex: list(itertools.permutations("123",1)) = [('1',), ('2',), ('3',)] list(itertools.permutations("123",2)) = [('1', '2'), ('1', '3'), ('2', '1'), ('2', '3'), ('3'.. 2019. 9. 15.