«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

one day left

10. 12 본문

오늘의 코딩

10. 12

Min-su 2014. 10. 12. 20:00
  • <interval selection> 주어진 선분들 중에서, 최대 2개까지 겹칠 수 있을 때, 선택가능한 선분 수의 최대값을 찾는 문제. 이전에 풀어봤는데 그 때 풀이를 제대로 이해하지 못해서 다시 연구해서 풀어냈다. 일종의 DP로 풀어낼 수 있다.
  • (1) 시작점을 기준으로 정렬하여, 작은 것부터 하나하나 고려해 나간다. 중요한 시각은, 고려 목록에 있는 선분들을 해당 시작점을 기준으로 시작하는 선분으로 이해하는 것이다.
  • (2-1) 새로운 시작점이 Ends[0]보다 클 경우, 추가가 가능하다. Ends[0]을 꺼내버리고, 해당 점의 끝점을 Ends에 추가해 준다.
  • (2-2) 그게 아닐 경우에는, 새로운 끝점을 Ends배열에 업데이트해 준다. 이 과정에서 답이 아닌 선분들이 걸러지게 된다.
  • 최소값과 두번째 최소값을 업데이트 하는 방식을 주목할 필요가 있다. 이렇게 swap을 활용하면 우아한 소스 설계가 가능하다.
  •  여러분, 오늘 일이 어떻게 되건, 승리를 얻게 되건 패배하건 우리가 완수하려는 것은 혁명이오. 화재가 온 도시를 환하게 비추듯이 혁명이 전 인류를 비추어줄 것이오. 그럼 우리는 어떤 혁명을 할 것인가? 아까도 말했듯이 '진실'의 혁명이오. 정치적 견지에서 보면 원칙은 단 하나, 즉 인간에 대한 인간의 주권인 것이오. 자기에 대한 자기의 주권을 '자유'라고 부르오. 주권이 두 개나 여러 개 서로 결합하는 곳에 '국가'가 시작되는 것이오. 그러나 그 결합에는 어떠한 권리의 포기도 포함하지 않소. 개인적인 주권은 만인 공동의 권리를 위해서 어느 정도 자기를 양보해야 하오. 그 분량은 만인에게 동등하오. 각자가 만인에 대하여 행하는 그 동등한 양보를 '평등'이라고 부르오.
     공동의 권리란 각자의 권리 위에 빛나는 만인을 위한 보호일 뿐인 것이오. 이 각자에 대한 만인의 보호를 '우애'라고 부르오. 한 곳으로 모이는 그 모든 주권의 교차점을 '사회'라 하오. 이 교차는 하나의 연결이므로 그 교차점은 하나의 매듭이오. 거기서 사회적 관계라는 게 생기는 것이오. 어떤 사람은 그것을 사회적 계약이라고도 하오. 어떻게 말하건 마찬가지요. 약속이란 말은 어원적으로도 관계라는 관념으로 만들어진 것이오. 여기서 평등이라는 것을 이해해 둡시다. 왜냐하면 자유를 정점이라고 한다면 평등은 그 밑변이기 때문이오. 평등이란 높이가 같은 식물을 말하는 것이 아니오. 키 큰 풀잎이나 키 작은 떡갈나무로 만들어진 사회가 아니오. 서로 거세하려는 질투의 이웃 관계가 아니오. 그것을 일반적으로 말하면, 모든 능력이 동등한 기회를 갖게 되는 것을 말하며, 정치적으로 말하면 모든 투표가 동등한 무게를 갖는 것이고, 종교적으로는 모든 양심이 동등한 권리를 가지는 일이오. (레미제라블, pp. 1891-1892)


'오늘의 코딩' 카테고리의 다른 글

10. 14  (0) 2014.10.14
10. 13  (0) 2014.10.14
10. 11  (0) 2014.10.11
10. 10  (0) 2014.10.10
10. 9  (0) 2014.10.10
Comments