목록전체 글 (60)
코학다식
미중전쟁의 승자, 누가 세계를 지배할 것인가 (미국편) 최병일 저 책들의 정원 프롤로그 미중 관계, ‘경쟁적 협력’에서 ‘대립적 경쟁’으로 Part 1. 대립 그리고 긴장 1. 전쟁 속 이상한 휴전 2. 트럼프는 왜 중국과 무역전쟁을 시작했나? 3. 중국의 WTO 가입은 미국의 실수? Part 2. 총성 없는 싸움 4. 미중 통상 갈등: 쟁점과 그 골 5. 트럼프, 미국을 구할 것인가 6. 트럼프 대 시진핑, ‘어공’ vs ‘늘공’의 시간싸움 Part 3. 최후의 승자는 누구인가 7. 미중 무역전쟁, 어떤 합의가 가능할까? 8. 미중 무역전쟁은 끝나고 기술전쟁은 계속된다 9. 미국은 중국을 제압할 수 있을까? 에필로그 보호주의와 경제민족주의 쓰나미가 밀려오고 있다 용어 정리 미주 참고 문헌 21세기 미국..
21세기 미국의 패권과 지정학 피터 자이한 저/홍지수, 정훈 역 김앤김북스 추천의 말(이춘근 박사) 01 우리가 안다고 착각하는 세상 미국과의 거래 02 이집트: 이리저리 이동하는 기술 한계를 지닌 지리적 여건 첫째도, 둘째도, 셋째도 지리적 위치 이집트: 목적지에 도달하는 게 가장 힘들다 오르막이 있으면 내리막도 있는 법... 03 기술혁명: 원양 항해와 산업화 초강대국이 되려다 만 오스만 제국 원양 항해 I: 평원의 확장 원양 항해 II: 영국의 부상 산업화 I: 신세계 만들기 사면초가 독일 산업화 II: 거물 독일 04 우연히 등장한 초강대국 뭍(그리고 물) 중심부를 보호하라 원양 항해와 미국 항구 근교 수로 세계 최고의 명당자리 산업화와 미국 초강대국의 탄생 세계를 재가동하기 05 지정학을 매수(..
문제 링크 :: https://www.acmicpc.net/problem/11660 Solution 구간 합을 이용하긴 하는데 이차원 배열임을 유의해야 한다. 문제의 예시에서 볼 수 있듯이 그냥 처음부터 끝까지 수를 다 더하는 게 아니라 사각형 모양을 이루는 구간의 합을 구해야 한다. 이건 구간 합을 구할 때뿐만이 아니라, 부분 합을 구할 때도 마찬가지다. 특정 위치의 부분 합을 구하고 싶다면 처음(1, 1)부터 해당 위치까지 사각형을 만들어 그 구역에 있는 숫자들을 합해야 한다. 합하는 방법은 일차원 배열보다는 조금 복잡하지만 어렵지는 않다. 첫 행은 평범하게 부분 합 구하듯이 쭉쭉 더해 주면 된다. 다음 행부터는 첫 번째 열에 위치하는 경우와 아닌 경우가 달라진다. 첫 번째 열에 위치하면 만들 수 있..
문제 링크 :: https://www.acmicpc.net/problem/11659 Solution 아주 아주 기본적이고 쉬운 구간 합 문제. 부분 합을 구해 놓고 시키는 대로 구간 합을 구하면 된다. 괜히 배열의 크기를 딱 문제에 제시된 수열의 최대 크기만큼만 선언하지 말고, 한 칸만 더 선언해 준 다음에 인덱스와 주어지는 구간을 일치시키는 게 훨씬 직관적이고 편하다. 수열을 이루는 숫자는 작아도 더하면 좀 커지므로 데이터 타입을 더 큰 단위로 선언해 주는 게 좋다. 물론 이 문제에서는 100000개의 숫자가 모두 1000이고 처음부터 끝까지의 합을 구해도 int형 범위 내일 것 같긴 한데, 넘어가는 문제도 많으니까. Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ..
문제 링크 :: https://www.acmicpc.net/problem/1806 Solution 문제 이름처럼 부분 합을 이용해서 푸는 문제. 그래서 일단 sum 배열에 부분 합을 구해 줬다. 그리고 나서는 어떻게 시간 초과가 나지 않으면서 합이 S 이상인 구간 합 중 가장 길이가 짧은 것을 구하느냐가 관건이었다. 다른 사람들은 어떻게 풀었는지 모르겠지만 나는 S 이상의 부분 합이 나타나는 부분 합을 발견하면 그 인덱스를 기준으로 가장 짧은 구간 합(j가 i-1인 경우)부터 계산하면서 그 값이 S 이상이 되면 정답 후보 배열(sol)에 길이를 저장해 주도록 했다. 가장 짧은 구간 합부터 구하니까 S 이상인 값을 발견하면 바로 반복문을 탈출한다. 만약 가장 짧은 구간 합이 S 이상이면 굳이 나머지 구간 ..
철학은 어떻게 삶의 무기가 되는가 아마구치 슈 저/김윤경 역 다산초당 프롤로그_ 교양이 없는 전문가는 위험한 존재다 제1부 무기가 되는 철학 철학을 배우는 새로운 방법 왜 철학 앞에서 좌절하는가? 제2부 지적 전투력을 최대화하는 50가지 철학·사상 제1장 사람에 관한 핵심 콘셉트 ‘왜 이 사람은 이렇게 행동할까?’ 01 타인의 시기심을 관찰하면 비즈니스 기회가 보인다 (프리드리히 니체_르상티망) 02 우리는 모두 가면을 쓰고 살아간다 (칼 구스타프 융_페르소나) 03 성과급으로 혁신을 유도할 수 있을까?(에드워드 데시_예고된 대가) 04 사람은 논리만으로 움직이지 않는다 (아리스토텔레스_수사학) 05 노력하면 구원받을 수 있다고 신은 말하지 않았다(장 칼뱅_예정설) 06 타고난 능력이란 없다, 경험을 통..
문제 링크 :: https://www.acmicpc.net/problem/14648 Solution Prefix sum 알고리즘으로 쉽게 해결할 수 있는 문제입니다. 관련 설명은 아래 링크에서 보실 수 있습니다. 그런데 한 가지 주의해야 할 점이 있습니다. [a, b] 구간의 합을 구하기 위해서 b까지의 부분 합과 a-1까지의 부분합을 알아야 하는데, 편의상 배열의 크기를 (n이 최대 1000이므로) 1001로 선언해 두고 첫 번째 요소의 인덱스가 1이 되도록 코드를 작성하는 경우에는 그대로 b와 a-1까지의 부분 합을 사용해서 구간 합을 구하면 되지만, 첫 번째 요소의 인덱스가 0인 경우에는 b-1과 a-2까지의 부분 합을 구해야 합니다. 이런 사소한 부분에서 실수가 나면 은근 알아차리기 어렵더라구요...
안녕하세요. 오랜만의 알고리즘 포스팅입니다. 제가 방학이라고 공부 안 하고 놀아서 그렇습니다. (반성...) 이번 포스팅에서는 Prefix sum(구간 합)에 대해 알아보도록 하겠습니다. 아주 간단하지만 유용한 알고리즘입니다. Prefix sum? 영어로는 이게 뭐지 싶지만 한글로 보면 의미를 대충 짐작하실 수 있을 겁니다. 구간 합이란 말 그대로 수들의 나열에서 특정 구간의 합을 의미합니다. 이와 비슷한 개념으로 부분 합이 있습니다. 부분 합은 구간 합과 달리 처음부터 특정 인덱스까지의 합을 의미합니다. 구간 합에서의 구간은 당연히 어느 구간이든 가능합니다. 처음부터 끝까지일 수도 있고, 세 번째에서 일곱 번째일 수도 있고, 마지막 숫자만일 수도 있겠습니다. 예를 들어 볼까요? 1 2 3 4 5 6 7..