언어

파이썬의 heapq 라이브러리를 통해 손 쉽게 최소힙과 최대힙을 구현할 수 있다. 우선, heapq는 기본적으로 최소힙으로 구현되어있다. 즉, heapq의 heappush를 통해 값들을 삽입하면 해당 값들은 숫자가 가장 작은 순서대로 트리 구조로 값이 저장된다. heapq의 연산을 사용하기 위해선 각 연산의 파라미터로 큐로 사용할 리스트와 원소를 넘겨주면 된다. 1. heappush - 값 추가 import heapq heap_q = [] heapq.heappush(heap_q, 3) heapq.heappush(heap_q, 10) heapq.heappush(heap_q, 1) heapq.heappush(heap_q, 0) heapq.heappush(heap_q, 4) print(heap_q) # [0,..
파이썬은 집합(고등수학에서 배우는 그 집합)을 처리하기 위한 자료형 set을 제공한다. 집합 자료형은 set()으로 선언하며, 안에 들어갈 원소들을 리스트 형태로 넘겨주면 된다. data = set([1, 4, 9, 11, 3]) print(data) # {1, 3, 4, 9, 11} 집합 자료형의 특징은 크게 두 가지가 있다. 중복값을 허용하지 않는다. 원소들 간 순서가 정해져있지 않다. 중복값을 허용하지 않기 때문에 동일한 값의 원소를 여러 개 넣더라도 집합 안에는 하나의 원소만 남게된다. data = set([1, 4, 4, 4, 9, 11, 3]) print(data) # {1, 3, 4, 9, 11} 순서를 갖지 않기 때문에 리스트처럼 인덱싱하는 것이 불가하다. data = set([1, 4, ..
var 변수를 의미하는 variable를 줄인 것으로, 최초 선언 후 재선언과 재할당 모두 가능하다. var x = "JS"; var x = "React"; console.log(x); // React var y = "React"; y = "JS"; console.log(y); // JS const const는 상수란 뜻으로, 최초 선언 후 재선언 및 재할당이 불가능한 변수이다. const x = "JS"; x = "React"; console.log(x); // TypeError: Assignment to constant variable. 또한, 최초 선언 시 값을 입력해주지 않으면 에러가 난다. const x; x = "JS" console.log(x); // SyntaxError: Missing i..
알고리즘 문제를 풀다가 알게된 함수로, 꽤 유용하다고 생각하였으나 역시나 얼마 동안 안쓰니 다 까먹어버려 다시 한 번 정리하고자 글을 남긴다. Counter 함수는 deque를 지원하는 collectinos 모듈을 통해서 이용 가능하다. from collectinos import Counter 따라서 다음과 같이 위에서 import 해온 후 사용 가능하다. Counter 함수는 특정 문자 혹은 원소의 갯수를 세어 딕셔너리 형태로 리턴 해주는 함수이다. from collections import Counter my_text = "Hello,World!" my_counter = Counter(my_text) print(my_counter) 보다시피 각 문자에 대한 갯수를 올바르게 출력해온 것을 알 수 있다...
예전에 지금보다 더 코린이일 때, 카카오 코딩테스트 기출문제를 호기심에 풀어보다가 첫 문제부터 막힌 기억이 생생하다. 정답률이 무려 80%가 넘는 쉬운 문제였는데, 우리가 흔히 사용하는 10진수의 숫자를 2진수 형태로 바꿔주면 바로 풀 수 있는 간단한 문제였다. 물론 내가 부족하다는 게 가장 주된 이유이지만, 함수를 모른다는 이유로 문제를 풀지 못하면 꽤 억울하다. 그 때의 억울함을 추억하며 이 내용을 정리해보자. 파이썬의 공식 문서에 등록되어 있는 bin()의 사용법은 다음과 같다. 어려운 내용이 아니다. 정수형 숫자를 파라미터로 bin(x)에 넘겨주게 되면, 해당 숫자에 맞는 2진수 숫자를 리턴해준다. print(bin(10)) 10을 2진수로 바꿔주면 다음과 같은 결과가 출력된다. 재미있는 점은 이..
파이썬에서 반복문을 이용할 때는 상황에 맞게 while문과 for문을 이용한다. 하지만 반복문이 돌아가는 와중에, 특정 조건에서는 해당 반복문이 제어되길 바라는 상황이 있을 수 있다. 그 때 알아둬야할 것들이 continue, pass, break 이다. 1) continue continue는 특정 조건이 올때 반복문을 한 회 건너뛴다. 특정 조건 즉, i ==5 일때 한 회만 for문이 건너뛰어진 것을 확인할 수 있다. 2) pass 파이썬의 함수나 표현들이 영어 표현과 매우 비슷하다는 점에서, continue와 pass가 처음엔 약간 헷갈릴 수도 있다. 하지만 pass와 continue는 사용목적 자체가 다르다. continue의 경우 특정 조건 시 반복문을 건너뛰기 위한 것이라면, pass는 개발 ..
개발자를 지망하는 사람들이 꼭 거쳐가는 사이트가 있다. 바로 '백준'이다. 백준에서는 취업에 필요한 코딩테스트를 연습할 수 있는 수 많은 알고리즘 문제를 풀어볼 수 있다. 그리고 대게 알고리즘 문제는 주어진 상황에 맞게 특정 입력값을 받고, 알맞은 값을 출력하여야 한다. 나는 바로 여기에서 큰 문제를 겪었다. 코드를 어떻게 짜야할지는 바로 떠올랐는데, 막상 코드를 적는 페이지로 들어가니 문제에서 주는 입력값을 어떻게 받아야 하는지 몰랐다. 그 동안은 이 문제를 해결하기가 귀찮아 입력을 굳이 신경 쓸 필요 없는 다른 알고리즘 사이트들을 이용해왔는데, 본격적으로 코딩테스트를 준비하다보니 백준을 이용하지 않을 수가 없었다. 그래서 이번 기회를 통해 입력에 대한 다양한 방법들을 알아보았다. 입력 (input) ..
SeongOnion
'언어' 카테고리의 글 목록 (2 Page)