안녕하세요. 이번에도 예약글을 써야 겠어요. 파이썬으로 코테를 준비하시는 경우가 많은 걸로 들었어요. 보통 코테에서는, 전수 탐색과 구현을 버무린 이런 문제들이 종종 출제가 되곤 해요. 잘 읽어보면 아시겠지만, 8문제 세트 중에 2번째 문제로 출제하였습니다. 앞쪽에 배치하였다는 이야기는 풀어야 한다는 의미와도 일맥상통합니다. 그러한 문제들을 풀 때 product, permutations, combinations 함수를 알아두면 좋을 듯 해서 간단하게 소개해 보도록 하겠습니다. 먼저 product 함수입니다. iterable한 것에 대해서 카타시안 곱을 생성합니다. 이렇게만 들으면 뭔가 어려운 거 같습니다. 결과부터 보겠습니다. 어떤 식으로 생성되는지 눈치를 채셨을 텐데요. repeat를 2로 주었어요. ..
python 검색 결과
안녕하세요. 이번 시간에는 간단하게 json 형식으로 되어 있는 str을 object로 어떻게 떨구는지, 그리고 object를 어떻게 json으로 떨구는지 간단하게 알아보겠습니다. 머릿속에는 대략 이 정도 그림만 그려두시면 수월할 듯 싶습니다. 아차. 그리고 이 두 메서드는 뭔가 옵션이 많은데요. 이에 대해서는 나중에 차근 차근 언급해 보도록 하겠습니다. 먼저 json의 loads는 JSON을 python object로 바꿔줍니다. 간단한 설명을 보면 str, bytes, byte array인데 JSON document가 포함된 무언가인가 봐요. 이것을 python object로 바꿔준다. 정도로만 설명되어 있어요. 예제를 보겠습니다. json text가 위와 같아요. 제가 읽기 편하게 만들어 놓았는데요..
python에서 dictionary가 어떻게 구현되었을까요? 아니 그 전에 최악의 경우에 뭔가를 찾는 연산은 O(n)일까요? insert 하는 연산도? 사실, 저는 자바에서 본 것 처럼 그냥 chaining 으로 관리하지 않을까 싶었는데 그건 아니였습니다. 니다. 제 무지함이 또. 그 전에, 정말 최악의 경우에 insert나 find 연산 등이 비효율적으로 동작할까? 에 대한 의문부터 해결해 봅시다. 최악의 경우를 인위적으로 만드는 방법은 그리 어렵지 않습니다. 어디까지나 인위적으로 조작할 뿐, 실제로 제가 출제한 문제에서 최악 케이스를 만드는 건 쉽지 않습니다. 왜냐하면, python에서 int object가 모든 hashcode 값이 0일 리는 없기 때문입니다. 이에 대한 건 나중에 언급하도록 하겠습..
안녕하세요. 이 글에서는 python 문자열 자르기에 대해서 간단하게 알아보겠습니다. 먼저, 문자열 'abcdefg'가 있어요. 여기서 1번째 인덱스부터 2번째 인덱스까지 꺼내기 위해서 어떻게 하면 될까요? 2번째 줄을 보면 s[1:3]이라고 적었는데요. 이것은 1번째부터 2번째까지 뽑겠다는 의미입니다. 3번째는 포함하지 않아요. 실행 결과는 위와 같습니다. 4번째 위치부터 끝까지 뽑으려면 어떻게 해야 할까요? s[4:len(s)] 이렇게 입력하면 될까요? 그럴 필요 없어요. 단지 s[4:] 이렇게만 입력하시면 됩니다. 이것은 4번째 위치부터 끝까지 뽑겠다는 거에요. 그러면 'efg'가 print 될 거 같은데요. 정말 그런지 보겠습니다. 정말 'efg'가 뽑혔어요. 처음부터 2번째 인덱스까지 뽑는다면 ..
numpy의 reshape 메소드는 데이터의 변경 없이 shape만 바꿉니다. 예제 프로그램 몇 개를 보면서 이해해 보도록 하겠습니다. 먼저, 2번째 줄은 numpy 배열 [1, 2, 3, 4, 5, 6]을 생성합니다. A는 이렇게 그려질 겁니다. 4번째 줄에서 A.reshape((2, 3))이라고 되어 있는데요. 이는 A의 데이터는 바꾸지 않고 모양만 2행 3열짜리로 바꾸겠다는 의미입니다. 2행 3열이면 위와 같이 그려집니다. 실행 결과는 위와 같습니다. 또 다른 예제를 들어 보겠습니다. 이것은 어떨까요? 2번째 줄까지 수행하면, 아래와 같은 넘파이 배열이 생성될 겁니다. 그런데, reshape((2, 2, 2)) 라고 하였습니다. 그러면, 이것은 높이가 2이고, 세로가 2이고, 가로가 2인 모양으로 ..
최근댓글