분류 전체보기(94)
-
[독서] 군주론 - 마키아벨리
행운은 내가 만드는 것 군주론 – 마키아벨리 군주론. 책 제목만으로도 무언가 압도적이다. 제목은 많이 들어보았지만 읽어본 적은 없는 그런 책이었다. 15세기에 쓰인 고전을 읽을 용기는 쉽게 생기지 않는다. 시작하기는 어려웠지만 시작하고 나니 군주론을 순식간에 읽었다. 중세시대의 이 책은 지금 우리 현대 사회의 모습을 설명하는 데 매력적이다. 군주가 갖추고 있어야 할 것과 군주가 해야 하는 여러 가지 사항에 대하여 설명하고 있지만 이를 축소하여 “나”라는 개인이 어떻게 삶을 살아갈 것이며 타인과의 관계를 맺고 유지하는 데 무엇을 유의해야 하는가를 생각할 수 있다. 군주론의 내용 중 운명, 행운, 역량은 15세기의 군주가 아닌 21세기의 “나”가 어떻게 삶을 살아가야 하는지를 참고할 수 있게 해주는 중요한 ..
2021.11.12 -
[독서] 2021 제12회 젊은작가상 수상작품집 - 목화맨션(김혜진)
목화맨션 - 김혜진(2021) 2021.11.04 별점 (4.0/5.0) 매년 문학동네에서 나오는 젊은작가상 수상작품집은 단편집을 읽기에 정말 좋은 책이다. 2021 제12회 젊은작가상 수상작품집 중 4번째 작품인 김혜진 작가의 《목화맨션》은 30페이지 남짓의 짧은 단편소설이지만 지금의 나에게 중요한 메시지를 준 작품이었다. 마음 씀에 대한 대가로 상대에게 물질적 가치를 기대한다면, 돌아오는 것은 오해와 실망뿐이다. 그 반대도 마친가지다. 우리의 사회가 하나의 약속으로부터 시작되었다면, 그리고 그 약속이 모든 개인의 이익과 평등을 보장하는 사회를 위한 합의였다면, 그러한 미래를 가능하게 하는 것이 무엇인지는 분명하다. 그러니까 계약 이전에 예감이 있었고, 또한 누군가에 대한 마음 쓰임과 누군가를 향한 마..
2021.11.09 -
[독서] 모순 - 양귀자
모순 - 양귀자(1998) 2021.10.02~26 별점 (4.0/5.0) 인생이란 때때로 우리로 하여금 기꺼이 악을 선택하게 만들고 우리는 어쩔 수 없이 그 모순과 손잡으며 살아가야 한다. - 8장. 착한 주리 중
2021.11.08 -
[백준] 8979 올림픽
문제출처] https://www.acmicpc.net/problem/8979 문제요약 sort() 함수를 이용한 정렬 문제 풀이 리스트에서 사용할 수 있는 sort() 함수에서 key= 파라미터를 활용하면 된다. 금메달이 같은 경우 은메달의 개수로 정렬하고 은메달이 같은 경우 동메달로 정렬하면 된다. case = [[0 for _ in range(4)] for _ in range(n)] for _ in range(n): country, gold, silver, bronze = map(int,input().split()) case[country-1] = [country,gold,silver,bronze] case.sort(key=lambda x:(x[1],x[2],x[3]), reverse=True)테스트..
2021.11.04 -
[백준] 11659 구간 합 구하기 4
문제출처] https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 문제요약 1차원 배열 누적합(PREFIX SUM) 알고리즘 문제 풀이 누적합의 기본 알고리즘은 N부터 M까지의 합을 (M까지의 합) - (N까지의 합) 을 이용하여 계산하는 것이다. 소스코드는 Python 3으로 작성되었습니다. import sys input = sys.stdin.readline n,m = map(int, input().split()) number..
2021.10.15 -
[백준] 9184 신나는 함수 실행
문제출처] https://www.acmicpc.net/problem/9184 문제요약 재귀 함수를 다이나믹 프로그래밍으로 구현하기 풀이 식이 모두 주어줘 있는 재귀 함수이므로 다이나믹 프로그래밍만 구현해주면 된다. 다이나믹 프로그래밍에서 가장 중요한 점은 "이미 계산했던 값은 다시 계산하지 않는다."이다. 그래서 dp라는 리스트를 만들어 계산했던 값은 저장해 주면 된다. dp 리스트를 선언할 때 인풋값의 범위가 -50 ~ 50 이므로 사이즈를 102로 하였다. 음수값이 들어오더라도 리스트의 뒤의 값부터 인덱싱을 하기 때문에 추가적인 코드를 짤 필요는 없다. 소스코드는 Python 3으로 작성되었습니다. import sys input = sys.stdin.readline dp = [[[False for _..
2021.10.04