retainAll이라는 메소드의 시간 복잡도에 대해서 질문이 들어왔습니다. AbstractCollection에 있는 메소드인데요. 결론부터 말씀드리겠습니다. 간단하게 정리하면, 인자로 넘어가는 Collection의 contains에 따라서 갈리게 됩니다. 그런데, retainAll이 따로 재정의된 케이스도 있기 때문에 시간 복잡도를 분석하실 때 주의가 필요합니다. 밑에서 후술하겠습니다. 먼저 이 메서드의 설명을 봅시다. Collection에서 retainAll을 호출할 때 이 메서드를 볼 일이 적지 않기 때문입니다. c에 있는 원소들만을 획득한다. 라고 설명이 되어 있네요. 그리고, UnsupportedOperation 예외를 떨굴 수도 있다고 하는데요. 삭제 연산을 지원하지 않는다면 떨어트려지게 됩니다..
레퍼런스 검색 결과
안녕하세요. 이번 시간에는 간단하게 json 형식으로 되어 있는 str을 object로 어떻게 떨구는지, 그리고 object를 어떻게 json으로 떨구는지 간단하게 알아보겠습니다. 머릿속에는 대략 이 정도 그림만 그려두시면 수월할 듯 싶습니다. 아차. 그리고 이 두 메서드는 뭔가 옵션이 많은데요. 이에 대해서는 나중에 차근 차근 언급해 보도록 하겠습니다. 먼저 json의 loads는 JSON을 python object로 바꿔줍니다. 간단한 설명을 보면 str, bytes, byte array인데 JSON document가 포함된 무언가인가 봐요. 이것을 python object로 바꿔준다. 정도로만 설명되어 있어요. 예제를 보겠습니다. json text가 위와 같아요. 제가 읽기 편하게 만들어 놓았는데요..
파이썬에서 api를 찔러보고 결과를 가져오게 하기 위해서 requests 모듈을 많이 쓰곤 합니다. 제 토이프로젝트 또한 json으로 리퀘를 받으면 처리를 적절히 해서 json으로 떨구게 됩니다. 제가 구축해 놓은 도서관 서버의 api를 보면서 어떻게 requests 모듈을 써야 할 지 간단하게 알아보도록 하겠습니다. 제약 조건이 하나 있다면, https는 적용했지만, self signed 인증서입니다. 그리고 모든 api는 json으로 응답하게 됩니다. 먼저, base_url 입니다. 보통 저 url은 겹치니 따로 base_url로 빼는 게 더 가독성이 좋은 듯 싶더라고요. 먼저 1번째 api인 /reg 입니다. POST 요청이고요. userEmail과 userName과 userPw를 보내면 중복된 i..
python에서 dictionary가 어떻게 구현되었을까요? 아니 그 전에 최악의 경우에 뭔가를 찾는 연산은 O(n)일까요? insert 하는 연산도? 사실, 저는 자바에서 본 것 처럼 그냥 chaining 으로 관리하지 않을까 싶었는데 그건 아니였습니다. 니다. 제 무지함이 또. 그 전에, 정말 최악의 경우에 insert나 find 연산 등이 비효율적으로 동작할까? 에 대한 의문부터 해결해 봅시다. 최악의 경우를 인위적으로 만드는 방법은 그리 어렵지 않습니다. 어디까지나 인위적으로 조작할 뿐, 실제로 제가 출제한 문제에서 최악 케이스를 만드는 건 쉽지 않습니다. 왜냐하면, python에서 int object가 모든 hashcode 값이 0일 리는 없기 때문입니다. 이에 대한 건 나중에 언급하도록 하겠습..
안녕하세요. 코딩개입니다. 이번 시간에는 java에서 string에 들어있는 문자들을 어떻게 hex 값으로 보는지 알아보도록 하겠습니다. 저번 시간에 replace랑 replaceAll이랑 비교한 부분 기억하실 거에요. 출력은 같아 보이는데, 사실 다른 문자열이라고 했습니다. 왜? 출력이 되지 않는 문자가 포함되어 있기 때문이에요. 정말 그것이 포함되어 있는지 디버그를 해 보기 위해서 string에 저장 되어 있는 문자들을 차례대로 hex로 출력해 봅시다. Format 문자열에 대한 설명을 봅시다. Conversions 단락을 보면, 몇 가지 카데고리로 나뉜다고 되어 있습니다. General은 어떠한 type도 받아들인다는 것을 의미합니다. 3번의 Numeric은 몇 개의 type만 잡는데요. Integ..
최근댓글