제가 개최한 코딩 테스트 후기 글들을 꾸준히 보고 있는데요. 이 글들을 잘 보면, 생각보다 배울 만한 것들이 많았습니다. 제가 낸 문제 중에, 가희와 파일 탐색기가 있었는데요. 이 글에서는 풀이 보다는 정렬 조건이 복잡할 때, 아 이러한 패턴이 있었구나. 정도만 알고 넘어가셔도 괜찮겠다 싶어서 가지고 오게 되었습니다. 사실 이 글에서 언급하는 방법 말고도 우선순위 역순으로 n회 정렬한다던지와 같은 방법도 있는데, 이에 대해서는 나중에 언급할 기회가 있을 듯 싶어요. dsu 패턴은 생각보다 복잡하지 않아요. python에서는 여러 비교 기준이 있는 문제에서 tuple을 이용하게 됩니다. dsu는 3가지 과정으로 나뉩니다. 먼저, 데이터를 가공합니다. 어떻게 가공해야 할까요? list나 tuple은 문서에 ..
코딩 검색 결과
안녕하세요. chogahui05입니다. 최근에 코딩 테스트를 개최하면서, 다중 정렬을 람다로 구현한 풀이를 보고 배울 점이 많다고 느꼈어요. 람다는 정렬할 때도 쓰고, stream에서도 많이 써 먹긴 합니다. 그런데, 이 글에서는 따로 언급해 드리지는 않겠습니다. 대신에, 람다를 이해할 때 필수적으로 이해했으면 좋을만한 apply 메서드만 언급해 보겠습니다. 제가 computeXXX 시리즈를 설명할 때도 언급이 되었습니다. 그러니, 이 포스팅을 보고 오셔도 좋겠네요. [관련글] computeIfPresent에 대해서 알아봅시다. map 인터페이스에 있는 computeIfAbsent와 computeIfPresent를 예로 들어 설명해 보겠습니다. 이 메서드 들을 이해하면, 어느 정도는 람다가 이런 것이구나..
안녕하세요. 이번 시간에는 파이썬의 deepcopy에 대해 알아봅시다. 문서의 어떤 부분을 봐야 하는지 유심히 보도록 하겠습니다. 그리고, 어떻게 이러한 기능을 구현해야 하는지도 간단하게 소개해 보겠습니다. 먼저, copy는 shallow copy를 합니다. 문서에서는, compound object를 만들고, 그 안에 있는 objects들의 참조를 복사한다고 되어 있는데요. 2번째 줄에서 li는 아래와 같이 할당 되어 있어요. 그냥 간략하게만 그려 보겠습니다. li는 이런 식으로 그림이 그려집니다. 여기서 li2 = cp.copy(li)를 했는데요. 참조만 복사한다고 하였습니다. 고로, 이렇게 상황이 그려지게 됩니다. 다음에 li[2][1] = 2를 합니다. 이러면 어떻게 될까요? li[2]나 li2[2..
안녕하세요. 이 글에서는 python 문자열 자르기에 대해서 간단하게 알아보겠습니다. 먼저, 문자열 'abcdefg'가 있어요. 여기서 1번째 인덱스부터 2번째 인덱스까지 꺼내기 위해서 어떻게 하면 될까요? 2번째 줄을 보면 s[1:3]이라고 적었는데요. 이것은 1번째부터 2번째까지 뽑겠다는 의미입니다. 3번째는 포함하지 않아요. 실행 결과는 위와 같습니다. 4번째 위치부터 끝까지 뽑으려면 어떻게 해야 할까요? s[4:len(s)] 이렇게 입력하면 될까요? 그럴 필요 없어요. 단지 s[4:] 이렇게만 입력하시면 됩니다. 이것은 4번째 위치부터 끝까지 뽑겠다는 거에요. 그러면 'efg'가 print 될 거 같은데요. 정말 그런지 보겠습니다. 정말 'efg'가 뽑혔어요. 처음부터 2번째 인덱스까지 뽑는다면 ..
안녕하세요. 이번 시간에는 postgresql serial permission 오류가 떴을 때, 어떻게 해결해야 하는지 알아보겠습니다. 저는 서버에 psql을 설치했고, 로컬에 dbeaver로 접속할 수 있는 환경을 구축해 놓은 상태입니다. 저는 도서관 api 프로젝트에서 책을 빌리고 반납하고, 어떤 책을 빌렸는지에 대한 api를 추가하는 작업을 하고 test 하는 중이였습니다. 이 중에서 POST /borrow는 책을 빌리는 api입니다. bookId와 userId를 넣으면, 2번 유저가 id가 2인 책을 빌리게 됩니다. 요청을 보내 보겠습니다. 그랬더니 500이 떨궈지는데요. 서버 내에서 문제가 발생했음을 의미합니다. 로그를 보니까 permission denied가 되어 있는데요. 권한 때문에 무엇인..
최근댓글