전체보기(155)
-
[九地(구지)편 8장] - 손자병법
夫霸王之兵 伐大國 則其衆不得聚 부패왕지병 벌대국 즉기중부득취 무릇 패왕의 군대(兵)는, 대국을 칠 때는, 적국이 군대를 모으지 못하도록 하고, 霸: 으뜸 [패] 伐: 치다, 베다 [벌] 威加於敵 則其交不得合 위가어적 즉기교부득합 적을 위협할 때는, 외교를 맺지 못하도록 한다. 聚: 모으다 [취] 威: 위엄 [위] 是故 不爭天下之交 不養天下之權 信己之私 威加於敵 시고 부쟁천하지교 불양천하지권 신기지사 위가어적 그러므로 천하의 외교를 놓고 다투지 않고, 천하의 권세를 키우려 하지않고, 자기를 믿고 적에게 위협을 가한다. 權: 권세 [권] 故其城可拔 其國可隳也 고기성가발 기국가휴야 그러므로 그 성을 칠 수 있고, 무너뜨리게 할 수도 있다. 拔: 빼다 [발] 隳: 무너지다 [휴]
2022.10.02 -
[九地(구지)편 7장] - 손자병법
九地之變 屈伸之利 人情之理 不可不察也 구지지변 굴신지리 인정지리 불가불찰야 아홉가지 지형의 변화를 알고, 굴하여 후퇴하거나 진형을 펼쳐 이익을 얻는 것과, 병사(人)들의 마음 속 이치를 살피지 않을 수 없다. 伸: 펴다 [신] 凡爲客之道 深則專 淺則散 범위객지도 심즉전 천즉산 적지(客)에 임하는 방법(道)은, 깊이 침입하면 싸움에 전념하고, 얕게 침입하면 흩어진다. 淺: 얕다 [천] 散: 흩다, 흩어지다 [산] 去國越境而師者 絶地也 거국월경이사자 절지야 국경을 넘어 군사를 이끄는 곳이 절지(絶地)이다. 越: 넘다 [월] 境: 지경 [경] 絶: 끊다 [절] 四達者 衢地也 入深者 重地也 入淺者 輕地也 사달자 구지야 입심자 중지야 입천자 경지야 사방으로 통한 곳은 구지(衢地)이다. 깊이 침입한 곳은 중지(重地..
2022.10.02 -
[백준] 2146 | 다리 만들기 | C++
풀이의 핵심은 이렇다. int mem[][]에 섬의 번호 작성 int vis[][]에 다른 섬까지의 거리 작성 set S[]로 출발섬의 끝 좌표 수집 1. DFS로 섬들의 번호를 매긴다, 끝 좌표들도 모아준다. DFS(좌표, 번호): mem[좌표]
2022.09.22 -
자전거를 샀다 | 2022-09-01
올해 9월 첫 날에 자전거를 샀다. 알톤자전거 용민점의 점주님은 30년간 자전거 회사에서 근무하시면서 톈진으로 영업출장도 하셨다고 한다. 나한테 자물쇠, 부착랜턴 등 서비스도 많이 해주셨다. 그러면서 자전거 소문 좀 내달라고 부탁하셨다. 참으로 감사했고, 친절과 겸손이 묻어났지만 정직함과 내공은 무겁게 느껴졌다. 세월의 무게랄까? 인생의 치열했음이 절로 느껴지던 분이었다. 앞으로 잘 타고 다니겠습니다. 사실 내가 염두했던 모델은 아니었다.(알톤 탑원) 이미 지난 주에 팔려나갔다고 하셨다. 자전거의 ㅈ도 모르는 나에게 비슷한 스펙임을 설명해주셨다. (프레임, 브레이크, 바퀴 등이 탑원이랑 거의 똑같았다.) 실제로 타보니 기분이 너무 좋았다. 좋은 자전거를 얻고, 좋은 분을 만난 것 같다. 내가 구입한 자전..
2022.09.04 -
[백준] 1463 | 1로 만들기 | C++
풀이의 핵심은 다이나믹 프로그래밍이다. 0. dp[i]의 값은 'i를 1로 만들기 위한 최소 연산 횟수'를 의미한다. 1. 2부터 n까지 i반복: dp[i]는 dp[i-1]에 1을 더한 값으로 초기화. 만약 i가 2의 배수라면: dp[i]=min(dp[i], dp[i/2]+1)로 초기화한다. 만약 i가 3의 배수라면: dp[i]=min(dp[i], dp[i/3]+1)로 초기화한다. 2. dp[n]을 출력한다. 0. dp를 벡터로 선언하면, OutofBounds에 안걸린다. 1. i가 6의 배수라면 2로도, 3으로도 나눠 떨어진다. 3으로 나누었을 때의 횟수가 더 적으므로 2부터 처리하도록 한다. 정답 소스코드 #include using namespace std; int n; int main() { ios..
2022.09.03 -
[백준] 16198 | 에너지 모으기 | C++
풀이의 핵심은 이렇다. 0. 입력받은 에너지값들(배열 inp)을 마음껏 조작할 수 있도록 객체 하나를 복사생성해둔다(배열 cpy). 1. DFS는 처리해야 할 구슬의 순서(배열 ord)를 작성한다. 2. 순서구성이 완료되면: 계산할 에너지합 변수 선언(tmp = 0) 구슬처리(cpy조작) 위한 순서탐색(for ord): 해당순서(ord[i])의 에너지값을 사용했단 의미에서 0을 대입(cpy[ord[i]]=0) 해당순서의 이전순서(ord[i]-1)를 l, 다음순서(ord[i]+1)를 r로 선언 사용되지 않은(0이 아닌) 구슬을 찾기 위해 l, r 세팅 세팅완료된 l, r을 이용하여 tmp에 에너지 모은다. 모아둔 tmp가 res보다 크다면 res 갱신 3. 최댓값 res를 출력 0. 구슬을 사용하면 그 구..
2022.09.03