안녕하세요. 이번 시간에는 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)쌍을 출력했음을 ..
전체 글 검색 결과
spring으로 crud 하기 전에, 필요한 지식들을 먼저 보고 가겠습니다. spring boot 프로젝트를 보면, 왠 properties 파일들을 보게 됩니다. 이들은, 셋팅 파일인데요. 환경에 따라서, 이 값을 다르게 하고 싶다면 어떻게 하면 될까요? 문제 상황을 가정해 보겠습니다. 저는, A 환경에서는 7773번 포트로 http 요청을 받고, B 환경에서는 7776번 포트로 http 요청을 받으려고 합니다. 문제 상황을 단순화 시키면 먼저, 프로필 A를 만들고, B를 만들면 되는데요. 간단하게 프로필 파일로 관리하겠습니다. 공식 문서에 보시면, application-${profile}.properties가 그러한 역할을 한다고 되어 있으니, 그 파일들을 만들어 보도록 하겠습니다. 그 다음에 각각의 ..
저번에 gitlab 설정값만 바꾸었을 때, 뭔가 이상함을 느끼셨을 겁니다. 7775로 접속은 잘 되는데, puma만 잔뜩 떴다는 것이요. 이는 이 글에서 언급을 했지만, default로 puma를 쓰기 때문입니다. 문서에 따르면 14.0 부터는 unicorn의 지원을 제외한다고 합니다. 사실, 이게 중요한 건 아니고, puma로 셋팅하려다가 삽질을 했고, 심지어 해당 글도 가장 중요한 셋팅값인 external_url을 누락시켜서, 이 글을 쓰면서 급하게 수정하였습니다. 어떤 식으로 문제를 찾았는지에 대해서만 간단하게 메모로 남겨놓으려고 합니다. 사실 제일 좋은 방법은 log 파일을 보는 것이겠지만, 그 당시에는 당황해서 그대로 게임 끝났습니다. 먼저, 제 spring boot 프로젝트는 8080번 포트를..
파이선으로 백준을 푸시다 보면, 이런 거 한 번 쯤 복사 붙여넣기 하신 적이 있을 겁니다. 이 포스트에서는 노란 부분 말고, 파이썬 map 함수만 알아보도록 하겠습니다. 공식 문서에 보면, 이 함수는 다음과 같이 설명이 되어 있습니다. 먼저, iterable부터 봅시다. 이터레이터. 어디에서 동작했나요? c++의 STL에서는 vector, map 등에서 동작했습니다. 즉, 순회 가능한 무언가라는 것입니다. 예를 들자면, python의 list는 동적 배열입니다. 이것은 순회 가능한 자료구조 중 하나입니다. 여기서 next를 부르면, 이터는 현재 가리키고 있는 2 다음 원소인 3을 가르킵니다. 그러면, 2번째 인자가 이해가 되실 겁니다. input().split()은 입력받은 문자열에 대해서, white ..
오프라인 쿼리. ps 하면서 한 번 쯤은 들어보셨을 법한 말입니다. 무엇을 오프라인으로 처리한다는 것일까요? 사실 잘 모르겠습니다. 대신에, 하나의 문제에 대해서 생각해 보면서 어떤 것이 오프라인 query 인지 대충 감만 잡도록 하겠습니다. 그냥 관점만 보셔도 됩니다. ps를 하는데 막 오프라인이 뭐냐고 묻진 않을 거니까요. 그거보다는 어떻게 효율적으로 해결할지 생각하시는 것이 더 중요하지 않을까 싶습니다. 배열이 이런 식으로 있습니다. 여기서 r1, r2, r3, r4, r5는 해당 위치로부터 얼마나 떨어진 거리까지 영향을 미치는지에 대한 것입니다. 마나커 알고리즘을 한 번 보셨다면, 이해가 가실 겁니다. 문제는, 이것이 기본적인 마나커에서 +3 ~ +4가 된 이유는, 이것을 처리하는 아이디어가 어렵..
최근댓글