웨어울프 - Disney+

⚠️스포주의⚠️ 간만에 등장한 디즈니+ 단편 드라마, 웨어울프. 문라이트 이후로 간만에 새롭게 나온 남성 캐릭터인데, 반가우면서도 약간 아쉬운 부분들이 느껴졌다. 웨어울프는 작품 초반부터 후반까지 거의 모든 장면이 흑백으로 등장한다. 단, 짙은 붉은색만 표현된 채로. 이것은 지난 완다 비전에서도 사용된 촬영기법인데, 색이 빠진 모습이 오히려 액션이나 표정을 극적으로 보여주기도 한다. 마치 중세 유럽에서 마녀사냥을 하는 듯한 분위기를 연출하는데, 몬스터와 그들을 쫓는 사냥꾼들이 등장해서 서로 블러드 스톤을 얻기 위해 애를 쓴다. 주인공은 마지막 장면이 나올 때까지 미스테리한 인물로 등장하는데, 본래 자신이 지니고 있던 능력을 감추고 평범한 인간으로 살아가려고 노력한다. 하지만 일련의 사건으로 그의 정체가 밝혀지게 되고, 그만 사냥꾼들의 목표가 되어버리고 만다. ...

2023-6-29 · 1 min · 196 words · Junha

수학으로 배우는 양자역학의 법칙

양자역학분야에 대해서는 KAOS 강연이나 퀀텀스토리와 같은 책을 통해서 많이 접해왔다. 중학생 시절에 과학자의 길로 인도해주셨던 선생님께서 색즉시공 공즉시색이라는 제목의 KAOS 양자역학 강연으로 초대해주셔서 재밌게 봤던 기억이 난다. 그 경험이 지금까지 이어져서 자연과학을 재밌게 공부하는 한 대학생이 되도록 이어졌다. 화학과 학생은 보통 어떤 출판사의 일반화학을 선택하는가, 교수님의 재량에 따라 배우는 포커스가 천차만별로 달라진다. 나의 경우 물리화학에 진심인 교수님이 가르치셔서 열역학과 양자역학 분야를 꽤나 깊게 다뤘던 기억이 난다. Oxtoby modern chemistry 자체가 양자역학에 방점을 찍은 책이기도 하구.. 3차원 Particle-in-a-box 문제를 열심히 풀면서 기말고사를 준비했던 기억이 나는데, 그때에는 마냥 수식에 집중하고 어떤 양자역학의 큰 그림이나 흐름에 대해서는 생각해보지 못했던 것 같다. ...

2023-6-27 · 3 min · 455 words · Junha

Breaking Bad

한국 드라마의 특징은 권선징악과 선과 악이 뚜렷하다는 점이다. 그래서인지 종종 신파적이라고 대중의 비판을 받기도 한다. 그에 반해서 미드는 너무 기승전ㅅ(…)이거나 너무 핫걸에 치중하기도 한다. ㅋㅋ 그 와중에 캐릭터별 선악이 뚜렷하지 않고 긴 호흡과 호불호 갈리는 요소들이 많은 드라마가 흥행했으니, 바로 breaking bad이다. 미국 중서부 배경으로 하는 이 작품은 시즌 6까지 갈 정도로 장편의 드라마이고, 각 편마다의 호흡이 굉장히 긴 편이다. 끈기 있게 잘 보는 나조차도 시즌 중간을 달릴때에는 그만 하차할까 고민을 많이 했다. 각 캐릭터의 이해되지 않는 행동들 때문에 고구마 수십개 먹는 기분도 느끼고 분노하기도 했지만, 이상하게 그런 캐릭터들이 더욱 친근감있게 느껴지고 실제 있을법한 인물들로 느껴졌다. walter white을 중심으로 펼쳐지는 이야기인데 사실 누가 주인공이고 누가 주변인물인지 헷갈릴 정도로 각 캐릭터가 특색있고 독특하게 묘사되어있다. 마약쟁이인줄만 알았는데 은근 똑똑하면서도 감성팔이 소년인 jessie에 FM 그 자체인 DEA agent hank, 가족을 우선시하지만 종종 히스테릭 부리는 아내 skyler, 변호사 better call saul!! 그 외에 다양한 빌런들이 등장한다. 드라마 내용은 매우 비현실적인 스토리지만 이상하게 인물들이 우리 주변에 있을 법한 느낌이 들어서 시청자들을 빠져들게 만든다. 실제로 저렇게 methamphetamine cook을 한다면 금세 경찰에 발각되거나 마피아한테 죽겠지만, 뭐 완전 싸이코에 머리좋은 주인공 walter이니까 요리조리 잘 피한다. 매 시즌 끝에 해결할 수 없어보이는 상황을 어떻게 해결할지에 대해 궁금증을 자극해서 다음 시즌으로 넘어가도록 유도한다. 신기하게 슬슬 힘들 타이밍이 되면 새로운 사건이 등장해서 계속 보게 된다. ...

2023-6-26 · 3 min · 437 words · Junha

프로그래머스 - 올바른 괄호

올바른 괄호 문제 바로가기 첫 번째 풀이 def solution(s): while '()' in s: s=s.replace('()','') if s == '': return True else: return False 두 번쨰 풀이 def solution(s): stack = [] for i in s: if i == "(": stack.append(i) else: if stack: stack.pop() else: return False if stack: return False else: return True 고수의 풀이 def is_pair(s): st = list() for c in s: if c == '(': st.append(c) if c == ')': try: st.pop() except IndexError: return False return len(st) == 0 출처 CODE REVIEW 첫 번째 풀이에서는 while문을 이용해서 ()가 있으면 계속 지워나가는 식으로 해결했다. 정답에는 이상이 없었지만, 효율성 측면에서는 떨어졌다. 효율성을 늘리기 위해서 다른 방법을 시도해보았다. 두 번째 풀이에서는 stack을 이용했는데, (을 stack에 쌓아가면서 조건에 따라 지워가면서 true/false을 결정했다. 고수의 풀이는 앞의 풀이와 거의 동일하지만 return len(st) == 0 부분이 마음에 들어서 가져왔다. 매우 비슷한 문제로 백준 9012번 - 괄호가 있다.

2023-6-25 · 1 min · 145 words · Junha

프로그래머스 - 베스트앨범

베스트앨범 문제 바로가기 나의 풀이 def solution(genres, plays): playlist = {} count = {} for idx, (g, p) in enumerate(zip(genres, plays)): if g in playlist: playlist[g].append((p,idx)) count[g] += p else: playlist[g] = [(p,idx)] count[g] = p ans = [] for g in sorted(count.items(), reverse=True, key=lambda x:x[1]): for p in sorted(playlist[g[0]], reverse=True, key=lambda x:x[0])[:2]: ans.append(p[1]) return ans 고수의 풀이 def solution(genres, plays): answer = [] d = {e:[] for e in set(genres)} for e in zip(genres, plays, range(len(plays))): d[e[0]].append([e[1] , e[2]]) genreSort =sorted(list(d.keys()), key= lambda x: sum( map(lambda y: y[0],d[x])), reverse = True) for g in genreSort: temp = [e[1] for e in sorted(d[g],key= lambda x: (x[0], -x[1]), reverse = True)] answer += temp[:min(len(temp),2)] return answer 출처 CODE REVIEW 멜x, 벅x, 스x티파이와 같은 음원 프로그램에서 쓸 법한 정렬 문제. 총 재생수로 genres를 정렬한 후에, 그 장르별로 많이 재생한 2개의 항목의 번호를 출력해야했다. 코드의 큰 구조는 1) genres, plays를 묶어서 dict로 만드는 과정과 2) 앞에서 생성한 dict을 알맞게 정렬하는 과정로 구성된다. dict를 정렬할 떄에는 sort를 사용하지 못하고 sorted()로 묶어서 사용해야한다. 비슷한 논리지만 다른 형태인 고수의 풀이도 참고하자!

2023-6-24 · 1 min · 175 words · Junha