Thief of Wealth
[Javascript][BOJ] 11403 경로 찾기 (플로이드 와샬)
개발/알고리즘 2020. 12. 29. 23:44

www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net 핵심 아이디어 해당 위치에서의 경로가 존재하는지 판단하는 문제로, 플로이드 와샬 알고리즘으로 해결할 수 있다. 플로이드 와샬 알고리즘은 dp 개녕을 깔고 들어가는데, 모든 정점to정점을 순회하되, 중간지점인 k를 두어서, k를 거쳐하는 경로가 더 짧은 경우에 matrix값을 갱신시켜주는 역할을 한다. const readline = require('readline'); const rl = readline.createInterface({ input: pro..

부유하는 법
개발/자기계발 2020. 12. 28. 00:09

"허유적대기를 멈추는 순간, 우리는 떠오른다." 처음으로 수영을 배울 때는 깊은 물에 내 몸을 맡기지 못했다. 해변에서 용기를 주는 목소리가 아무리 많이 들려와도, 바짝 긴장한 채 턱을 물 위로 내놓으려 버둥거렸다. 그러다가 힘이 빠지면, 그때서야 비로소 힘을 풀고 물에 온전히 몸을 맡겼다. 그러면 물은 요람처럼 편안히 나를 떠받쳐주었다. 우리가 의심과 믿음을 오가며 되풀이하는 싸움도 이와같다. 이해하기 힘든 혼란스러운 상황에 부딪히면, 가라앉는 것 같은 끔찍한 느낌을 떨쳐버리기 위해서 온힘을 다해 싸운다. 그러나 저항하면 할 수록 자신의 존재가 더욱 무겁게 느껴져서 결국 녹초가 되고 만다. 이럴때면 나는 예전에 배운 방법을 떠올린다. 신기하게도 몸의 대부분을 물속에서 편히 쉬게 내버려두면, 깊은 물이 ..

[Javascript][BOJ] 10818 최소, 최대
개발/알고리즘 2020. 12. 23. 20:11

www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 핵심아이디어 머리식힐겸 풀어볼만한 아주 간단한 문제이다. 하지만 Javascript(nodejs)로 풀때 Math.max(...array) 를 사용한 후에 제출하면 분명 런타임에러가 뜰것이다.. 이 문제의 함정은 N이 1,000,000까지 있으며, Math.max를 사용하면 오버플로우가 난다는 것이다. 결국엔 배열에서 max,min 을 리턴하는 함수를 따로 만들면 쉽게 해결 ..

축하는 개인의 발전에 긍정적인 영향을 미친다.
개발/자기계발 2020. 12. 20. 18:07

하버드 대학교 비즈니스 스쿨의 테레사 애머빌 교수는 일곱 개 기업의 직업 238명의 업무 일지 내용 1만 2000개를 분석했는데, 이 연구를 통해서 밝혀진 사실은 날마다 자기 실적을 일지에 적은 직원들은 그렇지 않은 직원에 비해 확실히 동기 부여의 수준이 높아진다는 것이다. 애머빌 교수는 아무리 작은 일이라도 자신이 성취한 내용을 기록하는 행위는 자신감을 높이고 성장하고자 하는 욕구를 불러일으킨다고 섦여한다. 자신감은 실패에 대한 두려움을 없애고 자신의 목표를 달성하는 데 매우 중요한 요소다. 이 연구 결과는 아무리 작더라도 스스로 성취를 인정할 때 우리 뇌의 보상 체계가 활성화된다는 사실을 보여준다. 뇌에서 여러 호르몬을 방출해 성취감과 자부심을 더욱 크게 느끼게 해주는 것이다. 잠시 책을 덮고 오늘 ..

[Javascript][BOJ] 1719 택배 (다익스트라 경로)
개발/알고리즘 2020. 12. 20. 17:59

www.acmicpc.net/problem/1719 1719번: 택배 명우기업은 2008년부터 택배 사업을 새로이 시작하기로 하였다. 우선 택배 화물을 모아서 처리하는 집하장을 몇 개 마련했지만, 택배 화물이 각 집하장들 사이를 오갈 때 어떤 경로를 거쳐야 하 www.acmicpc.net 핵심아이디어 일반 다익스트라 문제에서 경로탐색 기능이 추가된 문제이다. 모든 정점에서 다익스트라 알고리즘을 돌리되, 이전 정점을 기록해놓는 path 배열을 만들어두고 다익스트라 알고리즘이 모두 수행된 뒤에, path로 역추적하며 경로를 파악하면 된다. 'use strict'; const readline = require('readline'); const rl = readline.createInterface({ input..

[Javascript][BOJ] 14938 서강그라운드
개발/알고리즘 2020. 12. 20. 13:06

www.acmicpc.net/problem/14938 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 핵심아이디어 다익스트라를 사용하여 각 정점에서부터의 다른 정점사이의 최단거리를 모두 구하고, 반경범위 내에 있는 노드들의 item개수를 합한 결과값중 가장 큰 값을 반환하면 된다. 이번에도 한번 오답을 받았는데, 그 이유는 visited를 사용하여 방문처리를 해주었기 때문이다. distance에 가장 최소의 값을 업데이트해주어야 하므로, 큰값이 들어간 경우 방문처리를 해버리면 틀릴 수 있기 때문이다. 'use str..

[Javascript][BOJ] 2665 미로만들기
개발/알고리즘 2020. 12. 20. 11:59

www.acmicpc.net/problem/2665 2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1≤n≤50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net 핵심아이디어 bfs와 dp를 적절히 섞어쓰면 되는 문제이다. 예전에 python으로 풀었는데 지금 풀어보려하니 아이디어가 잘 떠오르지 않았다. dp[x][y] 를 x,y좌표까지 도달할때 소모해야 하는 최소 검은방의 개수로 정의하고 bfs를 돌리면된다. 그리고 이때에는 visited를 사용하면 안되는데 그 이유는, 각 방의 최소값을 계속 판단하여 dp값을 업데이트해주어야 하는데, visited으로 초반에 방문처리를 해버..

성공 습관을 지속하려면
개발/자기계발 2020. 12. 19. 00:54

목표에 집중하지 못하면, 위기가 인생에 그림자를 드리운다. 우리는 긴급한 문제를 처리할 때 자신의 내면을 살피기 전에 외부에 의지하곤 한다. 그러나 이는 스스로 불안이라는 짐을 보태는 일일 뿐이다. 실패할지도 모른다는 불안은 자기가 이루고자 하는 것과 멀어지게 만들며, 목표를 성취할 수 있다는 자신감을 망가뜨린다. 이러한 불안을 다스리려면 바로 자신의 내면에 집중해야 한다. 스스로 여러 날 자리를 비워도 세상은 아무런 문제 없이 잘 돌아간다는 사실을 깨닫는 것이 내면에 집중하는 첫 번째 단계다. 휴식은 새로운 에너지와 일할 동기를 주며, 인생 자체를 사랑하는 법을 가르쳐준다. 우리 인간의 정신은 자연과 연결될 필요가 있다. 오늘날에는 사람들이 자연과 단절되어 자기 정신의 한 부분을 잃어버린 채 살아간다...

profile on loading

Loading...