-
백준 1062번 가르침 :: 마이구미알고리즘 풀이/그래프 2017. 8. 13. 15:50
이번 글은 백준 알고리즘 문제 1062번 "가르침" 을 다뤄본다. 백트래킹을 활용하는 문제로써, 20% 대의 정답 비율을 가졌다. 이전에 다룬 6603번 로또와 유사한 문제지만 문제를 잘 이해하지 않는다면, 시간 초과를 경험하게 된다. 백트래킹 관련은 6603번 로또 문제 풀이를 통해 참고하길 바란다. 참고 링크 DFS, BFS - http://mygumi.tistory.com/102 Github 알고리즘 문제 - https://github.com/hotehrud/acmicpc 2019.06.11 재채점 결과 메모리 초과 발생으로 코드 추가 남극에 사는 김지민 선생님은 학생들이 되도록이면 많은 단어를 읽을 수 있도록 하려고 한다. 그러나 지구온난화로 인해 얼음이 녹아서 곧 학교가 무너지기 때문에, 김지민..
-
백준 14431번 소수마을 :: 마이구미알고리즘 풀이/그래프 2017. 8. 8. 00:41
이번 글은 백준 알고리즘 14431번 "소수마을" 을 다뤄본다.최근 선린고에서 주최된 머그컵이라는 대회에서 출제된 문제이다.이전에 다뤘던 9205번 "맥주 마시면서 걸어가기" 와 흡사한 문제가 된다.9205번 문제는 BFS도 좋은 접근이지만, 플로이드 알고리즘을 통해 문제 풀이를 했다. (9205번 풀이)이번 문제에서는 플로이드가 아닌 BFS를 통해 문제를 해결해본다.DFS, BFS - http://mygumi.tistory.com/102Github 알고리즘 문제 - https://github.com/hotehrud/acmicpc 소수 마을들의 주민들은 매우 특이한 규칙을 준수한다. 규칙은 바로 “가고 싶은 위치까지의 거리가 소수일 경우에만 간다”라는 것이다. 소수 마을의 주민 승욱이는 소수 마을에서 멀..
-
백준 9205번 맥주 마시면서 걸어가기 :: 마이구미알고리즘 풀이/그래프 2017. 8. 6. 00:08
이번 글은 백준 알고리즘 문제 9205번 "맥주 마시면서 걸어가기" 를 다뤄본다.문제 풀이는 플로이드 와샬 알고리즘으로 해결했다.플로이드 와샬 알고리즘은 다음 링크를 참고하면 되겠다. (플로이드 와샬 알고리즘)* BFS를 통한 방법은 14431번 소수마을 풀이 참고Github 알고리즘 문제 - https://github.com/hotehrud/acmicpc 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. 맥주 한 박스에는 맥주가 20개 들어있다. 목이 마르면 안되기 때문에 50미터에 한 병씩 마시려고 한다.상근이의 집에서 페스티벌이 열리는 곳은 매우 먼 거리이다. 따라..
-
Vue.js와 jQuery 공존하기 :: 마이구미Vue.js 2017. 8. 4. 20:22
이번 글은 Vue.js와 jQuery를 같이 사용할 때 숙지해야할 것들을 다뤄본다.Vue.js를 쓰기 전에 Virtual DOM은 반드시 숙지해야한다. (Virtual DOM 관련 글)글을 이해하기 위해서도 필요하다. jQuery는 DOM 조작에 있어서, 정말 편리하고 이용해왔고, 계속해서 쓰고 있다.그렇기에 Vue를 쓰면서 jQuery를 통해 DOM 조작을 할 수도 있다.이러한 경우, 단순히 Vue와 jQuery를 같이 사용하면 안된다.고려해야할 것들이 존재한다. 이유는 Virtual DOM이다.Vue는 Virtual DOM에 접근하고, jQuery는 실제 DOM에 접근한다.이것이 뜻하는 의미는 아래와 같다. 만약 jQuery를 통해 DOM을 추가할 때, Vue는 실제로 추가되는 DOM을 무시한다.=>..
-
백준 2573번 빙산 :: 마이구미알고리즘 풀이/그래프 2017. 8. 4. 00:23
이번 글은 백준 알고리즘 2573번 "빙산" 을 다뤄본다.정답 비율이 20%대로 어렵게 보이지만 비율 대비 쉬운 문제가 된다.본인은 DFS를 통해 문제를 풀이하겠다.DFS, BFS - http://mygumi.tistory.com/102Github 알고리즘 문제 - https://github.com/hotehrud/acmicpc 문제를 보다시피, 1년이 지날 수록, 빙산의 높이가 상하좌우에 있는 0의 횟수만큼 줄어드는 것을 볼 수 있다.그리고 그림3과 같이 2개 이상으로 분리되는 시점을 찾는 문제이다.분리된 빙산은 {3, 2}, {3}, {4} 가 된다.그래프에서 이러한 빙산의 영역을 "연결 요소"라고 표현한다.즉, 이 문제는 연결 요소의 개수를 2개 이상이 되는 시점을 찾는 문제가 된다. 코드 흐름은 ..
-
백준 6603번 로또 :: 마이구미알고리즘 풀이/그래프 2017. 8. 1. 21:24
이번 글은 백준 알고리즘 문제 6603번 "로또" 를 다뤄본다.문제를 보다시피, 모든 경우의 수를 찾아야한다.DFS에서 백트래킹을 응용하여 문제를 해결할 수 있다.이 문제의 코드를 이해한다면, 재귀 함수와 친해질 수 있을 것이다.DFS, BFS - http://mygumi.tistory.com/102Github 알고리즘 문제 - https://github.com/hotehrud/acmicpc 독일 로또는 {1, 2, ..., 49}에서 숫자 6개를 고른다.로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 숫자 중 k(k>6)개의 숫자를 골라 집합 S를 만든 다음 그 숫자만 가지고 번호를 선택하는 것이다.예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 숫자를..
-
Virtual DOM이란 무엇인가? :: 마이구미Vue.js 2017. 7. 29. 14:02
이번 글은 Virtual DOM에 대해 다뤄본다.Virtual DOM은 React를 통해 이미 많이 알려져있다.최근 핫한 Vue.js 2.0에서부터도 사용되고 있다.Virtual DOM 무엇인지? 왜 나왔는지? 왜 쓰는지? 에 대해서는 다를 게 없기 때문이다. Virtual DOM 기술은 DOM 조작에 있어 비효율적인 이유에서 나오게 되었다.DOM 조작에 있어, 비효율적인 이유를 살펴보자.기존에는 아래와 같이, Javascript 또는 Jquery를 통해 원하는 dom 노드를 찾은 후 변경하는 행위를 했다. document.getElementById('myId').appendChild(myNewNode) // javascript$('#myId').append(myNewNode) // jquery 하지만 ..
-
Vue.js에서 줄바꿈 적용하기 :: 마이구미Vue.js 2017. 7. 25. 20:42
이번 글은 Vue.js에서 텍스트 줄바꿈에 대해 다뤄본다.이해를 위해 유튜브의 API를 통해 받아오는 데이터를 활용하는 예로 들어본다.단순히, 유튜브 API를 통해 받아온 데이터를 출력해보자. {{ description }} 그 결과, 아래와 같이 출력되는 모습을 볼 수 있다. 오른쪽 html 소스에서 보는 텍스트 구조와 실제로 출력되는 텍스트가 다른 모습을 확인할 수 있다.즉, 줄바꿈이 적용되지 않은 모습을 볼 수 있다.(사실 상 받아오는 텍스트는 아래와 같다.) 너 먹구름 비\n\n\n1. 널 너무 모르고\n작사: 헤이즈(Heize)\n작곡: 헤이즈(Heize), GroovyRoom.............. \n은 줄바꿈으로 많이 사용되지만, HTML에서 렌더링되지 않는다.HTML에서는 Line Br..