-
백준 5014번 스타트링크 :: 마이구미알고리즘 풀이/그래프 2017. 7. 23. 17:29
이번 글은 백준 알고리즘 문제 5014번 "스타트링크" 를 다뤄본다. 이전 글에서 다룬 1697번 숨바꼭질과 흡사하다. 조금 더 자세한 내용은 1697번 풀이를 보길 바란다. 1697번 풀이DFS, BFS - http://mygumi.tistory.com/102Github 알고리즘 문제 - https://github.com/hotehrud/acmicpc 강호는 코딩 교육을 하는 스타트업 스타트링크에 지원했다. 오늘은 강호의 면접날이다. 하지만, 늦잠을 잔 강호는 스타트링크가 있는 건물에 늦게 도착하고 말았다.스타트링크는 총 F층으로 이루어진 고층 건물에 사무실이 있고, 스타트링크가 있는 곳의 위치는 G층이다. 강호가 지금 있는 곳은 S층이고, 이제 엘리베이터를 타고 G층으로 이동하려고 한다.보통 엘리베이..
-
백준 1697번 숨바꼭질 :: 마이구미알고리즘 풀이/그래프 2017. 7. 23. 17:15
이번 글은 백준 알고리즘 문제 1697번 "숨바꼭질" 을 다뤄본다.문제 접근 방법은 BFS를 통해 해결했다.DFS, BFS - http://mygumi.tistory.com/102Github 알고리즘 문제 - https://github.com/hotehrud/acmicpc 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다.수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇..
-
백준 1987번 알파벳 :: 마이구미알고리즘 풀이/그래프 2017. 7. 22. 22:36
이번 글은 백준 알고리즘 문제 1987번 "알파벳" 을 다뤄본다.문제 풀이는 DFS를 응용하여 해결할 수 있다.DFS, BFS - http://mygumi.tistory.com/102Github 알고리즘 문제 - https://github.com/hotehrud/acmicpc 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다.말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다.좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있..
-
생략 부호(ellipsis) CSS 적용 :: 마이구미HTML, CSS 2017. 7. 19. 19:32
이번 글은 CSS를 통해 생략 부호에 대한 적용법을 다뤄본다.생략 부호는 텍스트가 노출 범위를 넘었을 때, 일반적으로 이용한다.예를 들면, 아래와 같은 경우가 된다. 위에서 보이는 "..." 이 생략 부호가 된다.대부분 생략 부호를 사용할 때는, 라인 수를 정하고 싶은 경우가 있다.텍스트의 길이에 상관없이, 노출 영역에 있어, "2줄 이상이면, 생략부호, 3줄 이상이면 생략부호" 이런 식으로 말이다.이러한 생략 부호를 구현 할 수 있는 방법은 크게 2가지가 된다.text-overflow: ellipsis가상클래스 before, after 위 2가지 방식을 활용해보자. 1. text-overflow width: 300px; display: -webkit-box; -webkit-line-clamp: 2; /..
-
백준 1935번 후위표기식2 :: 마이구미알고리즘 풀이/스택, 큐 2017. 7. 16. 21:36
이번 글은 백준 알고리즘 문제 1935번 "후위표기식2" 를 다뤄본다.1918번 "후위표기식" 문제는 중위표기식에서 후위표기식으로 변환하는 문제였다. - 관련 링크이번 문제는 후위표기식을 계산하는 문제로써, 1918번 문제를 푼 후, 풀어보면 좋은 문제가 된다. 중위표기식에서 후위표기식 변환 문제도 사실상 방법만 알면 간단했다.후위표기식의 계산 또한, 단순하다. 피연산자는 스택에 push 한다.연산자가 나오면 스택에 있는 수를 2번 pop 한다.pop한 두 수를 연산자에 맞게 계산한 후, 다시 push 한다.모든 계산이 끝나면, 스택의 top이 최종 계산 값이 된다. for (int i = 0; i < len; i++) { char ch = s[i]; switch(ch) { case '+': case '..
-
백준 2014번 소수의 곱 :: 마이구미알고리즘 풀이/스택, 큐 2017. 7. 16. 00:42
이번 글은 백준 알고리즘 문제 2014번 "소수의 곱" 을 다뤄본다.문제 풀이는 큐 중에서도 우선순이 큐를 활용하여 해결할 수 있다.정답 비율과 제출 수를 보면 어려운 문제에 속한다. K개의 소수가 있다. 이 때, 이 소수들 중에서 몇 개를 곱해서 얻게 되는 수들이 있을 것이다. 소수들을 선택할 때에는 같은 수를 선택해도 되며, 주어지는 소수 자체도 포함시키자.예를 들어 세 소수가 2, 5, 7이었다면, 이러한 곱들을 오름차순으로 나타내 보면, 2, 4, 5, 7, 8, 10, 14, 16, 20, 25, 28, 32, 35, 등이 된다.K개의 소수가 주어졌을 때, 이러한 소수의 곱들 중에서 N번째 수를 구해 보자. 단 정답은 32-bit integer 이내이다. 본인은 처음에 K개가 100개밖에 안되기..
-
store.watch in Vuex :: 마이구미Vue.js 2017. 7. 13. 00:15
이 글은 Vuex 저장소의 상태(state)에 대해 watch 사용법을 다뤄본다.vuex를 이용할 때 watch 구현 방법을 알아본 후, watch가 작동이 안되는 경우도 원인을 파악할 수 있는 방법을 알아본다. 기본적으로 watch는 상태의 동적 변화를 감지하기 위해 사용한다.일반적으로 Vue.js는 watch 또는 computed를 활용한다. Vuex 저장소의 상태 변화를 감지해야할 필요가 있을 수 있다.크게 2가지로 방법으로 볼 수 있다. 1. store.watch 활용 const store = new Vuex.Store({ state: { n: 10 }, getters: { getN() {return state.n} } }) new Vue({ el: '#app', store, mounted () ..
-
백준 1918번 후위표기식 :: 마이구미알고리즘 풀이/스택, 큐 2017. 7. 9. 15:21
이번 글은 백준 알고리즘 문제 1918번 "후위표기식" 을 다뤄본다.자료구조 수업을 들어봤다면, 문제 제목을 보자마자, 스택을 활용하는 문제라는 걸 알 수 있다.먼저 이론을 이해하고 푼다면, 쉬운 문제가 된다. (참고 자료) 문제는 중위 표기식을 후위 표기식으로 바꾸는 문제가 된다. 중위 표기식이란, 우리가 사용하는 수식이 된다. ex) a * (b + c) 후위 표기식이란, 컴퓨터가 사용하는 수식이 된다. ex) abc+* 중위 표기식에서 후위 표기식으로 바꾸는 과정은 아래와 같다. 피연산자(a,b,c)는 출력한다. 연산자는 앞 연산자(스택의 맨 위)를 살펴서 출력하거나 대기한다(스택에 넣는다, 대기 된 자료들은 나중에 대기 된 연산자가 먼저 나온다, LIFO, 스택을 이용) 연산자의 대기(스택에 pu..