개인정보 처리방침 본 방침은 [2021년 5월 6일]부터 적용됩니다. 목적 "Yum? Yum!"은 다음의 목적을 위하여 개인정보를 처리하고 있으며, 다음의 목적 이외의 용도로는 이용하지 않습니다. 1. 음성 녹음 개인정보의 처리 및 보유기간 ① "Yum? Yum!"은 정보주체로부터 개인정보를 수집할 때 동의받은 개인정보 보유 및 이용기간 또는 법령에 따른 개인정보 보유 및 이용기간 내에서 개인정보를 처리 및 보유합니다. ② 구체적인 개인정보 처리 및 보유 기간은 다음과 같습니다. - 고객 가입 및 관리: 서비스 이용계약 또는 회원가입 해지시까지, 다만 채권․ 채무관계 잔존시에는 해당 채권․ 채무관계 정산시까지 - 전자상거래에서의 계약․ 청약철회, 대금결제, 재화 등 공급기록: 5 년 개인정보의 제3자 제..
본 포스팅의 내용은 [깡샘의 코틀린 프로그래밍]을 공부하고 작성자가 생각을 정리하기 위해서 작성한 글이므로 더욱 자세한 내용을 알고 싶으신 분은 [깡샘의 코틀린 프로그래밍]을 강력 추천합니다!! 1. Null 안정성 Null 이란 null은 아무 값도 대입하지 않은 상태를 말하며 특히 객체는 흔히 참조 변수라고 표현해서 실제 객체에 데이터가 대입된 게 아니라 데이터를 가지는 메모리의 주소 값이 저장된 변수이다. Null Pointer Exception이란 Null은 메모리 할당이 이루어지지 않은 상태를 표현하기 위한 용도이지만 개발 때는 참 귀찮은 존재이다. Null을 처음 고안한 사람조차도 Null을 만든게 큰 실수라고 말할 정도.. Null 상태의 변수는 할당된 메모리가 없기 때문에 변수에 접근을 시..
본 포스팅의 내용은 [깡샘의 코틀린 프로그래밍]을 공부하고 작성자가 생각을 정리하기 위해서 작성한 글이므로 더욱 자세한 내용을 알고 싶으신 분은 [깡샘의 코틀린 프로그래밍]을 강력 추천합니다!! 4. 요소 함수 4.1. contains() contains() 함수는 컬렉션 타입의 데이터 중 특정 데이터가 있는지를 판단하는 함수이다. listOf(2, 5, 10, 8).contains(10) // true listOf(2, 5, 10, 8).contains(7) // false 4. 2. elementAt(), elementAtOrElse(), elementAtOrNull() elementAt() 특정 위치(인덱스)의 데이터를 추출한다. 리스트의 범위를 벗어나는 인덱스를 입력하였을 경우, IndexOutO..
본 포스팅의 내용은 [깡샘의 코틀린 프로그래밍]을 공부하고 작성자가 생각을 정리하기 위해서 작성한 글이므로 더욱 자세한 내용을 알고 싶으신 분은 [깡샘의 코틀린 프로그래밍]을 강력 추천합니다!! 필터링 함수는 컬렉션 타입의 데이터 중 조건에 맞는 일부분의 데이터를 추출하는 함수다. 2. 필터링 함수 2.1. filter() filter() 함수는 컬렉션 타입의 데이터 중 특정 조건에 맞는 데이터만 추출할 때 이용한다. val resultList = listOf(1, 2, 3, 4, 5, 6, 7).filter { it > 4 } // [5, 6, 7] 2. 2. filterNot(), filterNotNull() filterNot() filter() 함수의 반대라고 생각하면 되겟다. 람다 함수에 명시된 ..
본 포스팅의 내용은 [깡샘의 코틀린 프로그래밍]을 공부하고 작성자가 생각을 정리하기 위해서 작성한 글이므로 더욱 자세한 내용을 알고 싶으신 분은 [깡샘의 코틀린 프로그래밍]을 강력 추천합니다!! 컬렉션 타입의 데이터를 활용하는 데 있어서 도움이 되는 함수가 많아 보여서 정리해보려고 한다. 1. 집합 연산 함수 1. 1. forEach(), forEachIndexed() forEach() 단순히 컬렉션 타입의 데이터 개수만큼 특정 구문을 반복 실행할 때 유용하다. listOf(1, 2, 3).forEach { println(it) } forEachIndexed() forEach 함수와 크게 다르지 않으며 index 값도 함께 활용하고 싶을 때 유용하다. listOf(1, 2, 3).forEach { ind..
1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 우선 순위 큐라는 내용을 공부해놓고는 활용해보지도 못 하다가 이 문제를 통해서 잃어버린 기억을 되찾게 되었다. 우선 처음 우선 순위 큐를 인식하지 못 하고 푼 기본 아이디어부터~ 기본 아이디어 1 (실패) 보석과 가방에 대한 정보를 받아온다. 보석은 가격에 따라 정렬하고 다음 우선순위로 보석 크기에 따라 정렬한다. 가방은 크기에 따라 정렬한다. 이중 반복문으로 가방을 순회하면서 보석을 순서대로 순회하면..
기본 아이디어 예상 등수를 정렬한 다음에 1등부터 N등까지의 차이를 계속 결괏값에 더해준 것을 반환한다. 코드 N = int(input()) expects = [int(input()) for _ in range(N)] expects.sort() result = 0 for n in range(1, N + 1): result += abs(expects[n - 1] - n) print(result) 느낀 점 언제나 느끼지만 그리디는 문제를 처음보고 영감을 바로 떠올리지 못 하면 시간을 많이 잡아먹는 것 같다. 다른 아이디어를 떠올리면 그에 대한 구현을 하는데 또 한 세월이고 틀릴 가능성 자체가 높다.. 그냥 많은 문제를 풀어서 경험을 축적하는 수밖에..