분류 전체보기 269

[LeetCode] Remove Element문제의 Reference에 관하여

오랜만에 leetCode easy 단계를 푸는 도중에 stream에 관련한(stream인지 .toArray인지 모르겠군요.) 재밌있는 사실(저만 몰랐겠죠..? )을 발견했습니다. 이에 관해 글을 작성해 보겠습니다. leetcode 문제 링크입니다. 문제 class Solution { public void static main(String[args){ int nums[] = new int[]{3,2,2,3}; int val = 3; removeElement(nums, val); ... // nums 검사 for (int i = 0; i < expectedNums[i].length; i++) { assert nums[i] == expectedNums[i]; } } // logic 구현 public int r..

Languages/java 2022.03.27

[Book]객체지향의 사실과 오해_01

추천 도서에 존재하는 책들을 하나씩 읽고 있습니다. 출근 시간이 약 1시간 정도 되기에 처음에는 인터넷 강의를 매일 들었는데... 제가 무제한이 아니라ㅠ 힘들더군요!! 그래서 손을 놓고 있었던 책을 읽기로 했습니다! 지인분이 선물해주신 함께자리기(애자일로가는길)를 시작으로 추천 도서 리스트에 있는 책들을 모두 읽으려고 합니다. 그리고 읽는 도중 중간중간 느낀 점들, 의문점들 등을 독후감 식으로 작성을 할까 합니다. 지극히 주관적인 관점이고 생각이니 만약 저와 다른 의견을 가지고 계시다면 언제든지 답글 남겨 주시길 바랍니다. 은유와 객체(p.66) 두번째 도시전설 "객체지향이란 현실 세계의 모방"에 관하여 글을 작성한 부분이 있습니다. 작가님(조영호님)은 책은 아직 다 일지 못했습니다 ㅠㅠ... "안타깝게..

카테고리 없음 2022.03.20

[Mac] python 설치하기

요즘 러시아와 우크라이나 관련 일이 많이 터지는 듯 합니다. 관련하여 도움이 될 순 없을까... 할 적에 개발로서 도움이 될 수 있는 좋은 기회를 가지게 되었습니다. 그런데 해당 프로젝트가 python으로 진행이 되더군요. python은 예전에 짧게 사용해 보긴 했지만... 잘 모르겠더군요. 그래도 조금이나마 도움이 될 수 있도록 개인 시간을 조금 투자하기로 했습니다. 크롤링 기술이 대부분이었는데 해당 라이브러리 사용에 앞서 python 환경 설정부터 차근차근 해보았습니다. List Windows에서 python 설치하기 [Windows] python 설치하기 Homebrew 설치 pyenv 설치 pyenv-virtualenv 설치 request 설치 Error Install mac에서 python 설치..

Languages/python 2022.03.08

[C] Terminal(mac)에서 간단한 C언어 프로그래밍 하기

gcc 설치 test.c 파일 생성 및 실행 vi editor를 사용하여 test.c 파일을 생성합니다. vi 모드에 진입한 후 아래의 코드를 입력하고 :wq를 입력하여 test.c파일을 저장합니다. #include int main(void) { printf("Hello, world!\n"); return 0; } ll 명령어를 통하여 test.c 파일이 잘 생성되어 있는지 확인해 봅니다. cc command를 사용하여 C 언어로 되어있는 파일을 compile 해 줍니다. 해당 명령어르 실행하면 아래 이미지와 같이 a.out 이라는 컴퓨터가 이해할 수 있는 언어로 되어 있는 파일이 새로 생성됩니다. vi a.out명령어를 활용하여 해당 파일을 들어가 보면 인간이 알아보기 힘든 언어로 바뀌어 있는 것을 알..

Languages 2022.03.07

[highlightjs] 코드 블럭 오류(markup)

오늘 JitPack을 활용하여 라이브러리 생성하기(maven, gradle) 글을 다시 살펴 보는 중 코드블럭들 중 하나가 hljs(highlightjs)를 적용시키지 않더군요. 그래서 확인해 보았습니다. Before we go further 저는 typora라는 markdown editor를 사용하고 있습니다. 헌데 평소와 같이 code를 작성하여 올렸었는데 어떤 것은 제 의도대로 잘 나오고 어떤 것은 이상하게 나오더군요. 그래서 왜 이런 현상이 일어나는지 알아보았습니다.(hljs에서 놓친 부분이 있다고 생각하고 신나게 구글 번역기까지 돌려가며 issue 작성 중에 제 잘못이라는 것을 깨달았습니다...) 네... 작성하다가 제 실수인걸 알고 후다닥 지웠습니다... Problem JitPack을 활용하여..

Tistory 2022.03.05

[Algorithm]이진탐색(Binary Search)

이진탐색(Binary Search) 정렬된 상태의 입력 데이터에 대한 효과적인 탐색 방법 오름차순 탐색 방법 배열의 가운데 원소 A[x]와 탐색키 y를 비교. 1) 탐색키 = 가운데 원소 -> 탐색 성공(인덱스 x)를 반환 후 종료 2) 탐색키 &#39;이진 탐색(원래 크기 1/2인 왼쪽 부분 배열) &#39;: 순환호출 3) 탐색키 &#39;이진 탐색(원래 크기 1/2인 오른쪽 부분 배열) &#39;: 순환호출 예제 T(n) = T(n/2) + O(1) (n > 1), T(1) = 1 T(n) = O(logn) 특징 배열의 데이터가 정렬된 경우에만 적용. 삽입 / 삭제 연산은 부가적인 데이터 이동을 수반. 데이터의 정렬 상태 유지를 위해서 평균 n/2개의 데이..

CS 2022.02.24

[Algorithm]점근성능 표기법(Asymptotic Notation)

계속 느껴오고 생각했던 알고리즘과 OS, 하드웨어 등에 대한 전반적인 지식의 부족함으로 이번에 방통대에 입학을 결정하게 되었습니다. 급하게 신청하느라 추가모집으로 3학년 컴퓨터과학으로 편입하게 되었습니다. 일과 동시에 학업을 수행해야해서 시간이 빠듯할 듯 하지만 그래도 평소에 계속 느껴왔던 부족함을 메꾸기 위해서 열심히 해 보려 합니다ㅎㅎ 우선 알고리즘 과목 수강을 통해 조금 더 체계적으로 문제 해결 능력을 키우고 막혔던 몇몇 프로그램머스 2단계와 leetcode easy 문제들을 다시 도전할 생각입니다. Big O 점근적 상한 어떤 양의 상수 c와 n0이 존재하여 모든 n >= n0 에 대하여 f(n) = n0 에 대하여 f(n) = n0 에 대하여 c1 * g(n)

CS 2022.02.20

[Linux]Diff 명령으로 파일 비교하기

저는 어릴 적 프로그래머라고 생각하면 메트릭스의 화면이 생각납니다ㅎㅎ 검정 화면에 알수없는 검정색 숫자들이 주르륵 써져있었죠. 그 이후 프로그램에 조금 알게 되었을 땐 검정 화면에 알수없는 글자들이 초록빨강흰색으로 도배되어 있는 화면이 떠오르더군요. 이번에 회사에서 시니어급 프리 한분이 저와 같은 팀으로 배정되었습니다. 저는 이클립스의 git synchronize의 gui 화면에서 사용했었는데 이분은 깃을 오래 사용하셨는지 gitbash에서 모든 작업을 하더군요. 아... 그 어찌나 멋져 보이던지 계속해서 그 장면이 제 머리속을 떠나지 않더라구요... 그래서 저 역시 mac에서는 terminal의 command를, window에서는 gitbash를 활용한 명령으로 작업들을 진행해 보고 싶더군요. 그 첫 ..

OS/Linux 2022.02.19

[IntelliJ] class 생성 시 자동 주석 달기(Comment template)

이직 + MacBook의 구입으로 모든 설정들을 다시 해 주고 있습니다. 기본 설정들에 추가적인 기능들을 설정했었나 봅니다. 보니 예전에 설정했던 방법들이 생각나지 않아 이번에는 하나씩 정리하면서 해나갈 생각입니다. Preference Command + , 로 설정창으로 들어갑니다. 그 후 Editor -> File and Code Templates 의 class를 확인합니다. #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") public class ${NAME} { } #parse() 부분의 File Header.java의 파일에 수정을 해주면 파일 생성 시 Custom_..

Tools 2022.02.13

[H2] h2 설치 및 사용하기

h2를 자주 사용하지 않아 다시 설치하고 사용할 때마다 검색을 하게 되어 작성해 보려 합니다. 간단한 설치 방법과 사용법을 작성해 보겠습니다. H2 DB? oracle, mysql과 같은 relation DB입니다. 하지만 다른 DB들과 달리 가볍고 설치가 쉽고, 관리가 편하기 때문에 가벼운 사이드 프로젝트나 테스트 용으로 많이 사용됩니다. 특징 빠르고 오픈소스인 JDBC API In Memory DB(인 메모리 DB)* Embedded mode(내장모드) & Server mode(서버모드) 지원 브라우저 기반 콘솔 프로그램 2MB정도의 적은 용량으로 설치 가능 ANSI 표준 SQL로 여러 호환성 모드 지원 Embedded Mode vs Server Mode Embedded mode(내장모드) : App..

Database 2022.02.12
728x90
반응형