전체 글
-
프로그래머스 1단계를 모두 풀었다일기/공부 2022. 7. 4. 07:38
SQL 관련 문제는 제외하고 끝냈다. SQL은... 데이터 엔지니어를 목표로 하면 필수지만, 아직 익숙하지 않다. 한 번 해본 적 있으니 다시 하면 금방할 것 같은데 복잡한 SQL문은 써 본 적이 없어서 걱정이긴 하다. SQL을 조금 미뤄두는 이유는 코딩테스트를 통과하려면 SQL보다는 알고리즘에 신경써야 할 것 같기 때문이다. 면접에서도 손코딩을 요구한다고 가정해도 당장 모르는 SQL보다도 알고리즘이 더 신경 쓰인다. 또 생각 난다. RB 트리를 횡설수설 설명했던 기억이.. Memory Management 우선순위를 헛소리했던 악몽이.... 대충 아는 것은 제대로 아는 것만 못하다. 잘못 아는 것은 모르는 것보다 안 좋다. 최대한 정확히 제대로 아는 것이 공부의 목표다. 아 맞다. 요즘 코딩테스트는 알고..
-
[Python] 바다코끼리 연산자? := (the walrus operator)프로그래밍 언어/Python 2022. 6. 24. 09:53
서론 코딩테스트 공부 초반에는 모두 아는 것만 나왔는데... 요즘 파이썬의 다양한 기능에 놀라고 있다. 그런데 이건 C 개발자로서 "이게 파이썬 3.8이 되어서야 생겼다고??" 싶은 기능이다. Python 3.8에 새로 도입된 연산자 :=에 대해 알아보자. 해당 연산자가 바다코끼리를 닮았다고 해서 the walrus operator, 바다코끼리 연산자라고 한다. 관련 파이썬 Document는 여기있다. (2022.06.27) 조금 더 상세한 코드 설명 추가 목차 1. 바다 코끼리 연산자(the walrus operator) := 파이썬은 지금까지 조건문에서라든지, 필요할 때 바로 변수를 만들어 값을 대입해서 쓰지 못했다. 예를 들어 C에서는 다음과 같은 표현이 가능하다. if((int value = so..
-
[Python] for-else / while-else 문이란?프로그래밍 언어/Python 2022. 6. 23. 10:18
서론 if-elif-else 문은 자주 사용했지만, 알고리즘 문제를 풀다 for-else 문을 처음 봐서 정리한다. 또한 for-else에 대해 조사하다가 while-else도 알게 되어 추가로 정리한다. (2022.06.24) while-else 내용 추가 목차 1. for-else 문 내용은 크게 별 거 없다. for문과 else 문을 같은 indent에 사용하면, for문이 끝까지 실행되었을 경우 else문이 실행된다. for문이 break로 중간에 루프를 빠져나오면 else문은 실행되지 않는다. # Case 1 for i in range(10): if i == 0: print("break!!") break else: print("Not break") # break!! # Case 2 for i i..
-
[Python] 언패킹(unpacking) 연산자 *프로그래밍 언어/Python 2022. 6. 23. 09:44
서론 함수 파라미터로 *args와 **kwargs는 본 적 있지만 일반적인 문법에서 * 연산자가 직접 사용되는 것은 처음 봤기 때문에 내용을 간단하게 정리하기로 했다. 파이썬의 언패킹 연산자로 쓰이는 *에 대해 알아보자. 단, Python3 이상에서만 언패킹 연산자가 지원되는 것으로 보인다. (2022.06.24) 언패킹 연산자 지원 버전 내용 추가 (2022.07.12) 참고문헌 url 추가 목차 1. 언패킹 연산자 * tuple과 list는 앞에 *가 붙으면 하나로 묶여있던 데이터가 낱개로 풀린다. dictionary의 경우 key 부분이 풀린다. 하나로 묶여 있던 데이터가 풀린다는 의미가 무엇인지는 아래 코드를 보면 바로 이해가 될 것이다. test_tuple = (1, 2, 3, 4) print(..
-
되는 일도 안되는 날이 있다일기/일상 2022. 5. 23. 13:53
오늘이 바로 그 날이다. 우울하기 짝이 없다. 이런 날은 의욕도 없고, 아무 것도 하기 싫으면서 그렇게 아무 것도 하지 않는 내가 한심하게 느껴지는 날이다. 그리고 정말 아침부터 사소하지만 아무 일도 안 풀리는 날이 있다. 아침 지하철 자리를 뺏기거나 옆에 선 사람이 공간이 널널한데도 거리를 유지해주지 않아 팔이 닿거나 자료를 찾다가 우연히 들어간 블로그의 코드 블럭이 가운데 정렬이거나 6명이서 가위바위보를 했는데 내가 꼴찌거나 작업하던 VM이 먹통이 되어 작업하던 내용이 모두 날아가버리거나 날아간 VM의 환경 세팅을 다시 하다가 또 날아가버리거나 하는 이상한 일들이 자잘하게 벌어진다. 이런 날은 몸을 사려야 되지만... 모르겠다. 그냥, 가끔 그런 날이 있다. 그러려니 하고 넘기자. 오늘은 지나가고 내..
-
[C언어] JSON 파일 파싱 라이브러리 jansson기타 프로그래밍 2022. 5. 14. 23:25
(2022.07.12) 내용 수정 C언어로 JSON 파일을 파싱하게 될 날이 올 줄은 상상도 하지 못했다. 그러나 필요하면 해야지 어쩌겠는가 C언어로 json 파일 파싱을 도와주는 라이브러리는 jansson, json-c 등등 여러 가지가 있지만 jansson을 택했다. 그 이유는 선배님들이 사용하신 라이브러리가 jansson이라 코딩할 때 선배님들 코드를 참고할 수 있기 때문이다. 아주 간단하게 사전조사를 해본 결과 jansson이 예전부터 사용된 라이브러리라 안정적이고, json-c와 크게 성능 차이가 나지 않는다는 글을 봤어서 무엇을 사용하든 상관 없겠다 생각했는데... https://jhhwang4195.tistory.com/94, https://github.com/miloyip/nativejso..
-
[Python] 내장 함수 정리프로그래밍 언어/Python 2022. 4. 5. 09:37
서론 Python 내장 함수 중 쓰일 만한 함수에 대해 간략히 정리한다. 모든 Python 내장 함수의 자세한 설명은 Python Documentation 링크를 참고하자. 내용 추가 필요 (2022.06.27) enumerate 함수 내용 수정, 내용 일부 추가 목차 1. abs(x) x의 절대값을 리턴하는 함수이다. int형, float형 등 숫자형과 __abs__()를 가진 오브젝트도 사용 가능하다. 2. all(iterable) / any(iterable) all 함수는 iterable의 모든 요소가 참이거나 iterable이 비어있으면 True를 리턴한다. 그렇지 않으면 False를 리턴한다. any 함수는 iterable의 어느 요소라도 참이면 True를 리턴한다. 그렇지 않으면 False를 ..
-