파이썬의 orderedDict에 대해 조금 더 알아봅시다. 이전에 이 글에서 popitem에 대해 간략하게만 설명드리고 넘어갔습니다. 여기 조금 더 심화된 내용을 학습해 보겠습니다. OrderedDict의 경우, 들어온 순서가 유지되는 딕셔너리입니다. 고로 lru와 같은 것과 잘 맞는다고 했습니다. 예제 하나를 볼 건데요. 자세히 분석해 보겠습니다. 먼저, OrderedDict 객체를 하나 선언할 거에요. 그리고 "a", "b", "c" 순서대로 넣었습니다. 다음에 lru를 출력하고, 가장 첫 번째 원소를 출력할 거에요. 그러면 출력 결과가 이렇게 나와요. 이것에 대해서 먼저 해석해 보겠습니다. 들어온 순서를 유지하는 것이 OrderedDict이라고 했어요. 고로, 이 때 그림은 아래와 같이 그려집니다...
레퍼런스 검색 결과
java의 Array에는 배열의 모든 원소를 특정한 값으로 초기화 하기 위한 메서드가 있습니다. fill과 setAll이라는 메소드입니다. 간단하게 차이점을 알아보겠습니다. 먼저 fill입니다. specified int value. specified value. 특정한 값으로 모든 원소를 초기화 합니다. 예를 들어 배열 내의 원소를 모두 5로 초기화 시키거나 할 때 쓸 법 합니다. 이 메서드는 int형 배열 뿐만이 아니라, long, char, ... 등의 배열을 받기도 합니다. 오버로딩 되어있다고 보면 됩니다. 이 블로그에서는 int형 배열만 다룹니다. 예제를 보겠습니다. 단순하게 Arrays.fill(a, 5);를 호출합니다. 그러면 10개의 원소를 저장하는 배열의 원소들이 모두 5로 초기화 됨을 볼..
datetime의 날짜가 몇 번째 주에 속하는지 출력하려고 합니다. 이 때 잘못 적용하면 의도치 않는 결과가 나타날 수 있습니다. 특히, 1월 새해 근처에 있는 코너 케이스로 테스트를 해 보셔야 어떤 주에 속하는지 정확하게 알 수 있습니다. 먼저 2020년 12월 25일부터 14일 동안 년도와 몇 번째 주차인지 뽑는 프로그램을 만들어 보겠습니다. strftime으로 datetime을 문자열로 변환하는데요. 변환 문자열이 '%Y-%W'임을 알 수 있습니다. 년도와 주차가 뽑히게 되는데요. iso 8601 형식이 아닙니다. 어떻게 뽑히는지 보겠습니다. 2020년 12월 28일이 2020년 52번째 주차로 뽑힙니다. 그리고 2021년 1월 1일이 2021년 0번째 주차, 1월 4일이 1번째 주차로 뽑히게 되는..
java stream에서 maptoobj 함수는 중간 연산이라 되어 있습니다. 길이 n짜리 배열을 obj object n개로 채우려고 합니다. obj 클래스에는 int 자료형만 하나 있고, 우리는 이 n개의 obj가 깊은 복사가 되어야 해요. 이걸 stream을 써서 할 때, Intstream의 range 메서드와, maptoObj를 사용하면 손쉽게 처리할 수 있습니다. mapToObj 메서드를 봅시다. Intstream 뿐만이 아니라, Longstream과 DoubleStream에도 있습니다. 설명을 보면, 스트림으로부터 해당 함수를 적용한 객체 값들의 stream을 반환한다고 되어 있어요. 즉 입력 스트림으로부터 무언가를 받아서, 새로운 결과 가지고 있는 스트림으로 변환합니다. n개의 크기를 가진 리..
python math의 lcm은 여러 정수의 최소 공배수를 구하기 위한 함수입니다. 1번째 예제입니다. 2와 3의 최소공배수를 구하라고 했습니다. 결과는 6이 나올 겁니다. 왜냐하면 2와 3의 공배수 중 최소인 것은 6이기 때문입니다. 여기까지는 별로 어렵지 않습니다. 당연한 것이니까요. 이제 0과 5의 최소 공배수를 구하려고 합니다. 어떻게 나올까요? 문서를 찾아보면, 하나라도 0이 있는 경우에 무조건 0이 나온다고 되어 있습니다. 따라서, 이 경우에는 0이 나오게 됩니다. 정말 그리 나오네요. 만약에 음수가 있으면 어떻게 될까요? -4와 6의 최소공배수를 구하려고 합니다. 이 경우, -4의 multiple과 6의 multiple이면서 가장 값이 작은 positive integer를 돌려줍니다. mul..
최근댓글