key와 lambda를 이용한 정렬
리스트를 보면 [[키,값],[이름,점수],[상품,가격],[단어(단어길이]] 이런 식으로 된 값들을 정렬하라는 문제들을 확인 할 수 있습니다. 하지만 파이썬을 이용하면 이러한 문제들은 key와 lambda를 이용해서 아주 쉽게 해결할 수 있습니다. 먼저 처음 예시는 간단하게 과일을 이름순으로 정렬하고 그다음 가격이 낮은 순으로 정렬하겠습니다. 먼저 과일의 값들은 아래와 같습니다. data = [ ["고구마",25000], ["바나나",123232], ["파인애플",4500], ["감자",3000], ["금귤",6000] ] 가격을 기준으로 정렬하겠습니다. data.sort(key = lambda x:x[1]) print(data) ## 출력 값 #[['감자', 3000], ['파인애플', 4500], ['..
2020. 10. 20.
Python list 연산에 따른 시간 복잡도
python list 연산에 따른 시간 복잡도 시간 복잡도가 O(1)인 연산 len(a) len(a)는 리스트 전체 요소의 개수를 리턴합니다. 사용 예시는 다음과 같습니다. a = [1,2,3,4,5] print(len(a)) ## 출력값 # 5 a[i] a[i]는 리스트중에서 해당 인덱스에 해당하는 값을 가져옵니다. a = [1,2,3,4,5] print(a[3]) ## 출력 값 # 4 a.append(x) a.append(x)는 해당 리스트 맨뒤에 x를 추가해 줍니다. a = [1,2,3] print(a) a.append(4) print(a) ## 출력 값 # [1,2,3] # [1,2,3,4] a.pop() a.pop()는 해당 리스트 맨 뒤에 있는 값을 pop 해줍니다. (스택의 연산 pop) a..
2020. 8. 9.
003. Java의 기본 자료구조(다차원배열(달력,날짜계산))
달력 만들기 평년 윤년 먼저 달력은 평년과 윤년이 있습니다. 따라서 이를 구분하기 위해 이차원 배열을 하나 만듭니다. static int[][]mDays = { {31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31}, }; 윤년 조건 기본적으로 4로 나누어 떨어지면 윤년입니다. 하지만 추가적인 규칙이 있습니다. 4로 나누어 떨어지지만 100으로 나누어 떨어지면 평년입니다. 하지만, 400으로도 나누어 떨어지면 윤년입니다.(예)2000년, 2400년 따라서 아래와 같이 나타낼 수 있습니다. static int leapYear(int year){ return (year % 4 == 0 && year % 100 != 0 || y..
2020. 1. 8.