1. 들어가며 는 다가오는 미래, 기존 핵가족 단위에서 '핵개인'으로 분화될 미래사회에서 어떻게 살아가야할지(생존해야할지)에 대한 저자의 생각이다. 이 책에서 처음으로 언급된 핵개인이라는 개념은 주민등록상 1인 가구를 뜻하는 것도 아니고 분가해서 혼자 살고 있는 것도 아니다. 정신적, 경제적으로 부모에게 독립해 주체적으로 살아가는 개인을 말한다. (우스갯소리로 반찬 받아먹으면 핵개인이 아닌거다.) 나의 경우 스무살 초기 경제적 독립을 이루었고, 돈을 챙겨드리지는 못하더라도 적어도 손을 벌리지는 않아왔기에 핵개인이 어떤 느낌인지는 쉽게 와닿았다. 2. 기억에 남는 것들 핵개인은 자신만의 것을 해야한다. 저자는 자신만의 직업(Mind Miner)과 개념을 제시(핵개인)한 것을 예로 들었다. 자신의 고유성과..
전체 글
말보다는 실천하는 사람2023 현대모비스 알고리즘 경진대회 예선 def solution(temperature, t1, t2, a, b, onboard): answer = 0 dp = [[float("inf")] * 51 for _ in range(len(onboard))] adj_t1 = t1 + 10 adj_t2 = t2 + 10 adj_tmp = temperature + 10 def_min_tmp = 0 def_max_tmp = 51 dp[0][adj_tmp] = 0 # minute for m in range(1, len(onboard)): isOnboard = onboard[m] min_tmp = 0 max_tmp = 0 if isOnboard: min_tmp = adj_t1 max_tmp = adj_t2 + 1 els..
는 배틀그라운드의 영웅신화를 다루는 책이 아니다. 크래프톤의 전신인 블루홀의 척박한 시작부터 다루고 있다. 대부분의 독자들은 표지 이미지를 보고 게임 배틀그라운드의 영웅신화를 기대하며 책을 펼치겠지만, 책을 읽는 내내 입이 마르고 때로는 괴롭기도 할 것이다. 책의 절반 이상은 테라의 시작과 운영, 테라의 글로벌 진출, 테라 IP 마케팅과 관련된 내용일 정도로 블루홀의 매출을 책임졌던 테라를 중점적으로 다루고 있다. 중반 이후로는 블루홀의 새로운 먹거리를 찾기 위해 모바일 게임업체들과의 합병 및 연합, 우여곡절을 보여주고 있다. 그리고 최종장에 이르러서야 배틀그라운드의 개발일화가 나온다. 책에서 꾸준히 다루는 조직 및 인재관리에 대한 고민과 노력이 돋보였다. 많은 직원이 자신을 대단한 지식 근로자인 것으로..
1. 당신의 문해력 성인의 문해력 관련 서적이라 생각하고 골랐으나, 아이들의 교육과 관련된 내용이었다. 아이들이 성장하고 학습할 때 문해력의 중요성을 강조하고 있다. 이를 위한 부모의 역할이 중요하다. 특히, 그림책(아이는 그림 위주로 책을 보기 때문에 그림책을 선정하는 것이 좋다.)을 자주 소리내어 읽어주도록 하고 아이와의 대화형 독서를 통해 아이가 직접 그림책 내용을 이해하고 부모의 질문에 답하는 시간이 많아야한다. 문해력은 학습의 '피지컬'이라고 생각한다. 부모의 관심 속에서 올바르게 문해력이 성장되지 않는 경우 초등학교 단계부터 학습에 흥미를 잃고 집중을 못하게 된다고 한다. '수학'을 공부해도 결국 문제를 이해하는 것이 첫번째 단계이기 때문이다. 개발도 문해력과 크게 관련있다. 기술서적, 공식문..
import heapq def solution(operations): min_heap, max_heap = [], [] for oper in operations: o = oper.split(" ") if o[0] == "I": heapq.heappush(min_heap, int(o[1])) heapq.heappush(max_heap, -int(o[1])) elif o[0] == "D": if not min_heap and not max_heap: continue if o[1] == "-1": max_heap.remove(-heapq.heappop(min_heap)) elif o[1] == "1": min_heap.remove(-heapq.heappop(max_heap)) answer = [] if min..
def solution(coin, cards): answer = 0 n = len(cards) target = n + 1 myCard = {} for i in range(n // 3): myCard[cards.pop(0)] = 1 all_round = len(cards) // 2 temp = {} nowRound = 1 for i in range(all_round): temp[cards.pop(0)] = 1 temp[cards.pop(0)] = 1 check = False for key in myCard.copy(): reverse = target - key if myCard.get(reverse) != None: del myCard[reverse] del myCard[key] check = True n..
2024 KAKAO WINTER INTERNSHIP combi = [] perm = [] def solution(dice): leng = len(dice) generate(leng, [], 0, 0) permu(leng / 2, [], 0) max_winrate = 0 max_dice = [] count = 0 for arr in combi: b_arr = [] for i in range(leng): if i not in arr: b_arr.append(i) red = {} blue = {} for p in perm: a_val = 0 for i in range(len(arr)): a_val += dice[arr[i]][p[i]] red[a_val] = red.get(a_val, 0) + 1 b_val ..
def solution(n, k): answer = 0 for str in convert_notation(n, k).split("0"): if len(str) > 0 and int(str) > 1 and check_prime(int(str)): answer += 1 return answer def convert_notation(n, base): T = "0123456789ABCDEF" q, r = divmod(n, base) return convert_notation(q, base) + T[r] if q else T[r] def check_prime(num): valid = True for i in range(2, int(num ** 0.5) + 1): if (num % i == 0): valid = F..