전체 글 107

[Python | 프로그래머스 | Lv_3] 디스크 컨트롤러

😄 아이디어 1. 매 ms를 반복문으로 구현 (최대값 1000 * 1000, 넉넉히 추가 부여) 2. 현재 시간에 작업이 들어오면 _!task!_변수에 보관 3. _!taskEndTime!_로 현재 작업여부 판단 👉 수행하는 작업이 없으면, _!tasks!_에서 가장 소모 값이 적은 작업수행 4. 추가될 작업 혹은 관리되는 작업이 없다면 종료 def solution(jobs): length = len(jobs) maxTime = 100_000_000 total = 0 tasks = [] taskEndTime = 0 for t in range(0, maxTime): for index, job in reversed(list(enumerate(jobs))): if t == job[0]: tasks.append..

알고리즘 2024.03.31

[Python | 프로그래머스 | Lv_3] 가장 큰 수

😄 아이디어 1. 문자열의 정렬방식 이해 필요 (가장 첫 글자부터 아스키코드로 변환해 비교) 2. _!number!_의 조건이 힌트 (1,000 이하) 👉 문자열을 최소 3회 이상 반복시키고 비교 def solution(numbers): nums = list(map(str, numbers)) nums.sort(key = lambda x : x * 4, reverse = True) return str(int(''.join(nums))) 😄 오답 # 오답! from functools import cmp_to_key def solution(numbers): nums = sorted(numbers, key = cmp_to_key(getBigNum)) #print('nums', nums) return str(in..

알고리즘 2024.03.31

[Python | 프로그래머스 | Lv_3] 단어 변환

😄 아이디어 1. _!words!_내 사용된 단어를 알파벳으로 변환하고 set 형태로 관리해, 변환 경우의 수를 최소화한다. 2. _!begin!_으로 DFS 시작, 변수로 주어진 단어는 첫 알파벳부터 _!set!_내의 글자로 바꿔가며 _!words!_내 존재확인 3. 존재하는 경우 _!visited!_의 값을 방문한 것으로 바꿔주고 다음 DFS 실행 4. 값이 최소값으로 변경되었다면 그대로 반환, 아니라면 0으로 반환 answer = 1_000_000_000 def solution(begin, target, words): global answer charset = set(char for word in words for char in word) visited = [0 for _ in words] coun..

알고리즘 2024.03.21

[Python | 프로그래머스 | Lv_3] 야근 지수

😀 아이디어 1. 1시간이 지날 때마다 모든 경우의 수를 구하는 것은 시간복잡도 초과 예상 2. 야근할 양이 가장 많은 업무부터 소거해야한다. 남은 업무가 제곱되어 계산되기 때문. 3. 배열을 내림차순으로 정렬하고, 가장 높은 값을 기준으로 n의 값을 하향 4. n == 0이 될 때 while문을 빠져나오고 works 배열 내 값으로 야근지수 계산 def solution(n, works): works.sort(reverse = True) maxIndex = len(works) while (n > 0): max = works[0] works[0] = works[0] - 1 n = n - 1 if n == 0: break for i in range(1, maxIndex): next = works[i] if ..

알고리즘 2024.03.20

시대예보: 핵개인의 시대

1. 들어가며 는 다가오는 미래, 기존 핵가족 단위에서 '핵개인'으로 분화될 미래사회에서 어떻게 살아가야할지(생존해야할지)에 대한 저자의 생각이다. 이 책에서 처음으로 언급된 핵개인이라는 개념은 주민등록상 1인 가구를 뜻하는 것도 아니고 분가해서 혼자 살고 있는 것도 아니다. 정신적, 경제적으로 부모에게 독립해 주체적으로 살아가는 개인을 말한다. (우스갯소리로 반찬 받아먹으면 핵개인이 아닌거다.) 나의 경우 스무살 초기 경제적 독립을 이루었고, 돈을 챙겨드리지는 못하더라도 적어도 손을 벌리지는 않아왔기에 핵개인이 어떤 느낌인지는 쉽게 와닿았다. 2. 기억에 남는 것들 핵개인은 자신만의 것을 해야한다. 저자는 자신만의 직업(Mind Miner)과 개념을 제시(핵개인)한 것을 예로 들었다. 자신의 고유성과..

생각 & 리뷰 2024.02.25

크래프톤 웨이

는 배틀그라운드의 영웅신화를 다루는 책이 아니다. 크래프톤의 전신인 블루홀의 척박한 시작부터 다루고 있다. 대부분의 독자들은 표지 이미지를 보고 게임 배틀그라운드의 영웅신화를 기대하며 책을 펼치겠지만, 책을 읽는 내내 입이 마르고 때로는 괴롭기도 할 것이다. 책의 절반 이상은 테라의 시작과 운영, 테라의 글로벌 진출, 테라 IP 마케팅과 관련된 내용일 정도로 블루홀의 매출을 책임졌던 테라를 중점적으로 다루고 있다. 중반 이후로는 블루홀의 새로운 먹거리를 찾기 위해 모바일 게임업체들과의 합병 및 연합, 우여곡절을 보여주고 있다. 그리고 최종장에 이르러서야 배틀그라운드의 개발일화가 나온다. 책에서 꾸준히 다루는 조직 및 인재관리에 대한 고민과 노력이 돋보였다. 많은 직원이 자신을 대단한 지식 근로자인 것으로..

생각 & 리뷰 2024.02.15

당신의 문해력 | 빌게이츠, 기후 재앙을 피하는 법

1. 당신의 문해력 성인의 문해력 관련 서적이라 생각하고 골랐으나, 아이들의 교육과 관련된 내용이었다. 아이들이 성장하고 학습할 때 문해력의 중요성을 강조하고 있다. 이를 위한 부모의 역할이 중요하다. 특히, 그림책(아이는 그림 위주로 책을 보기 때문에 그림책을 선정하는 것이 좋다.)을 자주 소리내어 읽어주도록 하고 아이와의 대화형 독서를 통해 아이가 직접 그림책 내용을 이해하고 부모의 질문에 답하는 시간이 많아야한다. 문해력은 학습의 '피지컬'이라고 생각한다. 부모의 관심 속에서 올바르게 문해력이 성장되지 않는 경우 초등학교 단계부터 학습에 흥미를 잃고 집중을 못하게 된다고 한다. '수학'을 공부해도 결국 문제를 이해하는 것이 첫번째 단계이기 때문이다. 개발도 문해력과 크게 관련있다. 기술서적, 공식문..

생각 & 리뷰 2024.02.15