안녕하세요. 이번 시간에는 for in문에 대해서 알아보겠습니다. 보통 ps를 하거나, 코테를 준비한다고 하면, 저는 3개만 잘 하라고 합니다. balanced tree, hash, array. 이 3개에서 거의 벗어나지 않기 때문이에요. 이 3개를 가지고 for in 문을 갖고 놀아보겠습니다. 기본적으로 파이선은 bintree 계열이 없는 듯 하니, bintree 패키지를 깔아줍시다. 가상 환경에 깔아두면 유용하게 써먹을 수 있습니다. 이것은 rb 트리 뿐만이 아니라, AVL도 포함하고 있습니다. 프로그램은 간단합니다. 30번 loop를 돌면서, tree에 (x,1) pair를 추가합니다. 그리고 8번째 줄에서 뭔가를 하는 듯 보입니다. 출력 결과를 봅시다. 트리 안에 있는 (K, V)쌍을 출력했음을 ..
코딩/파이선 검색 결과
파이선으로 백준을 푸시다 보면, 이런 거 한 번 쯤 복사 붙여넣기 하신 적이 있을 겁니다. 이 포스트에서는 노란 부분 말고, 파이썬 map 함수만 알아보도록 하겠습니다. 공식 문서에 보면, 이 함수는 다음과 같이 설명이 되어 있습니다. 먼저, iterable부터 봅시다. 이터레이터. 어디에서 동작했나요? c++의 STL에서는 vector, map 등에서 동작했습니다. 즉, 순회 가능한 무언가라는 것입니다. 예를 들자면, python의 list는 동적 배열입니다. 이것은 순회 가능한 자료구조 중 하나입니다. 여기서 next를 부르면, 이터는 현재 가리키고 있는 2 다음 원소인 3을 가르킵니다. 그러면, 2번째 인자가 이해가 되실 겁니다. input().split()은 입력받은 문자열에 대해서, white ..
백준 문제를 파이선으로 풀 때, 많이 써먹는 함수 중에 하나는 split입니다. 이 함수에 대해 간단하게 알아보겠습니다. 먼저, input은 입력 받은 것을 str로 리턴해 줍니다. 우리가 python으로 ps를 할 때, input().split()를 많이 써먹습니다. 예를 들자면 아래와 같이 입력이 들어왔을 때입니다. 이것은 공백을 기준으로 나누어진 예입니다. 100, 100을 받으려면, 1번째 줄을 통째로 입력받고 그것을 공백을 기준으로 나눠야 합니다. 이 때 써먹을 수 있는 메서드는 built in 함수인 split 입니다. 사용 용례를 보겠습니다. 결과 먼저 보면, ab-cd-ef로 입력을 받아서, output으로 내놓은 것은 ['ab', 'cd', 'ef'] 입니다. 즉, 무언가를 기준으로 나누..
아나콘다로 머신 러닝을 실습하다 보면, 가상 환경이라는 개념이 나와버립니다. 이에 대해서 간단하게 실습해 보도록 하겠습니다. 물론, 아나콘다에서는 편리하게 사용할 수 있습니다. 여기에서는 자세한 pip 명령어들은 다루지 않습니다. 윈도우 10에, python 3.8.x에서 실습하였습니다. pip 버전은 20.2.x입니다. 먼저, 빈 프로젝트 폴더에 들어가서, python -m venv numpy_ex 명령어를 실행해 보겠습니다. 그러면, numpy_ex 폴더 아래에 numpy_ex라는 이름의 가상 환경을 만듭니다. 그러면, 가상환경 이름 밑에, Scripts가 있는데요. powershell에서는 Activate.ps1을 실행하면 됩니다. 그러면, numpy_ex라는 가상 환경이 올라간 상태가 됩니다. t..
파이썬에는 built in 함수로 id가 있습니다. 문서에 따르면, 이것은 객체의 고유값을 리턴하는 메서드입니다. cpython은 주솟값을 돌려준다고 문서에 언급이 되어 있습니다. 저는 이 메서드를 어떤 객체를 가리키는지 보기 위해서 쓰곤 합니다. 몇 개의 예를 보고, 톡방에 질문 들어왔던 내용도 보도록 하겠습니다. 예제 1입니다. 그리 어려울 것은 없습니다. a는 배열 [5]를 가리키고, b는 [10]을 가리킵니다. 이 상태에서 id(a)와 id(b)를 출력합니다. 다음에, b에 a를 대입합니다. 다음에, id(b)를 출력합니다. id 값을 찍어보니 위와 같이 나왔습니다. 이것을 trace 해 보도록 하겠습니다. 먼저 4번째 줄 상황을 보겠습니다. id(a)와 id(b)가 달랐습니다. a와 b가 다른 ..
최근댓글