제목. 왜 10시간동안 아래 코드가 잘못된 동작을 하는 원인을 찾았는가? 제목이 꽤나 성가실 지도 모르겠습니다만, 오늘 몇 시간동안 삽질한 주제였습니다. 자신의 코드는 잘 안 보인다고 하는데, 그 말이 딱 맞았습니다. 심지어 고인물들이 모여 계시는 알고 싯포 톡방에서, const char * 문제인가? 를 가지고도 간접적으로 질문을 했는데, 실험도 해 보고, 이것 저것 팁들을 들어보니, 이것도 답이 아니였습니다. 당연하게도, 제가 완전히 잘못 파악한 것이였습니다. 부들부들 해당 문제를 풀기 위한 코드를 보도록 하겠습니다. 먼저, dp 함수는 아래와 같습니다. for loop를 돌면서, temp에 app(i, x-i)를 수행한 결과물인 string의 c_str()의 주솟값을 넣습니다. 그리고, temp와 ..
전체 글 검색 결과
elasticsearch 설정 파일을 보면, destructive_requires_name이 있습니다. 이 필드에 대해서 간단하게 알아보도록 하겠습니다. 먼저, myindex 인덱스를 추가해 보겠습니다. 그리고, GET 요청을 /_cat/indices로 보내보겠습니다. 그러면, myindex가 추가되었음을 알 수 있습니다. 그리고, myindex 안에 name이 "cho"인 데이터를 추가해 보겠습니다. 뭔가 명령어가 엄청 길어보이는데요. postman 같은 것을 설치하면 조금 더 간단하게 할 수 있습니다. name이 "ga"인 데이터를 myindex에 추가합니다. 그리고 /myindex/_search를 하면, myindex에 있는 모든 데이터를 긁어 오겠다는 의미입니다. 보시면, name이 "ga"인 데..
요새 코테 철이 되었습니다. 저도 간간히 구현력을 잃어버리지 않기 위해서 조금씩 복기만 하고 있습니다. 백준 11003번 문제는 최솟값을 구하는 문제입니다. 특정 구간 [e-k, e]에서의 최솟값을요. 단, 0보다 작은 위치의 구간은 무시하고 구해야 합니다. 별로 어렵지 않아 보이는데, 문제는 n이 500만입니다. 입력 받느라 시간이 많이 가는 건 흐음. O(n)으로 줄일 수 있습니다. 다들 아시는 기법을 소개하도록 하겠습니다. 관찰을 해야 할 것은 2가지 상황입니다. 어떠한 데이터가 추가되는 상황하고, 제거되는 상황. i번째에 있는 데이터가 제거되면, 더 이상 추가되지 않는다는 것을 관찰하는 것 또한 포인트입니다. 현재, 이런 식으로 데이터가 들어갔다고 해 보겠습니다. 그리고 저는 7번째 위치에 있는 ..
리눅스에는 kill 명령이 있습니다. 이에 대해서 간단하게 알아보겠습니다. 그 전에, 이 명령을 이해하기 위해서 필요한 시그널에 대해서만 잠깐 짚고 넘어가겠습니다. 먼저, Term, Ign, Core, Stop, Cont 같은 것들이 있는데요. 이는 아래 그림의 Action을 보기 위해서 봐야 할 값들입니다. 이 중에 Term은 디폴트 액션이 종료인 것을 의미합니다. 예를 들어, SIGKILL을 날리면, 종료가 됩니다. 디폴트가 Term이라는 이야기입니다. 각 Signal들을 보냈을 때 디폴트 action과 간단한 설명 등을 나타내는데요. SIGHUP는 저번에 한 번 언급을 했었습니다. putty로 ssh 접속을 했습니다. A라는 프로세스를 돌렸습니다. 그 상태에서, 접속을 끊었습니다. 그랬더니 어랏? ..
linux의 awk 명령어를 알아보겠습니다. 이것은 주로, 데이터를 가공해서 원하는 컬럼만 출력할 때 쓰이는데요. 어떻게 쓰는지 간단하게 예를 들어보겠습니다. jo_test의 testlog.txt에는 2020.09.06이랑 aaaa.bb.cc가 있습니다. awk는 'pattern {action}'으로 쓰는데, action이 print $1입니다. 이것은, 뭔가를 출력하라는 의미입니다. 여기서, $1은 구분자들로 구분된 것 중에서 첫 번째 필드를 의미합니다. 보통은, 스페이스 문자일 테니, 2020.09.06이랑 aaaa.bb.cc가 그대로 출력됨을 알 수 있습니다. 구분자를 .으로 하려면 어떻게 하면 좋을까요? man 페이지를 보면, -F가 있습니다. 이것은 필드 구분자를 주는 옵션입니다. -F 뒤에 옵..
최근댓글