본문 바로가기
반응형

분류 전체보기50

백준 2109 처음에는 우선순위 큐를 사용해서 비용이 크고 기간이 짧은 강연을 먼저 고르면 될 줄 알았다. 그런데 4 5 1 10 2 20 2 10 3 이러한 예시가 들어올 경우 5 + 2 + 10 이 아니라 10 + 20 + 10 을 선택해야 했다. 왜냐하면 기간 내에 강연을 가는 것도 가능하기 때문이다. 그래서 아예 새로운 방법을 사용해야 했다. 1. 최대 기간 maxDate 잡기 2. 비용이 큰 순서대로 입력값 정렬하기 3. maxDate에서 하루씩 줄여가며 가능한 강연 찾기 위 예시에서는 maxDate = 3 이 될 것이다. 비용이 큰 순서대로 입력값을 정렬하면 [[20, 2], [10, 2], [10, 3], [5, 1]] 이 될 것이다. 그러면 3에서 부터 2, 1 와 같이 1씩 줄여가면서 해당 날짜에 가능.. 2021. 5. 2.
백준 9663 이 문제는 정말 유명한 N-Queen 문제이다. 퀸은 양옆, 위아래, 대각선 방향 어디든 갈 수 있다. 따라서 한 행에 최대 하나의 퀸이 존재할 수 있다. 이때 N*N 크기의 체스판 위에서 N개의 퀸이 서로 공격할 수 없도록 배치하는 경우의 수를 구하는 문제이다. 만약 N = 8 이라면 위의 그림과 같이 배치할 수 있을 것이다. N-Queen 문제는 dfs, 백트래킹을 필요로 한다. 먼저 dfs를 위해 체스판을 표현할 배열이 필요하다. 퀸이 서로 공격할 수 없게 배치하려면 무조건 한 행에는 최대 한 개의 퀸만 존재할 수 있다. 그래서 a_row라는 배열을 만들었는데, 이 배열은 특정 행의 어느 열에 퀸이 위치하는지를 저장한다. 예를 들어 위 그림처럼 1행에서 6열에 퀸이 위치한다면 a_row[1] = 6.. 2021. 5. 2.
백준 2493 백준에서는 분류가 스택으로 되어있었는데 도저히 스택으로는 답이 보이지 않아서 다른 방식으로 풀었다. 1. data, res 라는 2개의 배열을 만든다. 2. data 배열에는 input값(탑들의 높이)을 저장한다. 3. res에는 해당 탑의 레이저를 송신받는 탑의 번호를 저장한다. res에 저장되는 탑의 번호는 0부터 시작한다고 가정하였다. 4. 현재 탑의 높이를 앞의 탑의 높이와 비교한다. 만약 앞의 탑의 높이가 더 낮다면 앞의 탑의 레이저를 송신받는 탑의 높이와 비교한다. 예를 들어, 6 10 5 6 7 11 8 이렇게 input이 들어온다면 6번째 탑의 높이는 8이므로 5번째 탑이 레이저 송신을 받을 것이다. 따라서 data[5] = 8, data[4] = 11, res[5] = 4 가 될 것이다... 2021. 4. 26.
백준 18115 이 문제는 deque을 사용하여 푸는 문제였다. 문제 풀이의 핵심은 주어진 input에 대해 역순으로 확인하며 deque에 카드번호를 집어넣는 것이다. 예를 들어 input이 5 2 2 1 3 2 1 이렇게 주어졌다면 1 → 2 → 3 → 1 → 2 → 2 순서로 값을 읽고, 각 숫자에 해당하는 과정을 해주면 된다. 카드 숫자는 1부터 N까지 수행을 할 때마다 1씩 증가한다. 1의 경우: 제일 앞에 카드가 들어가므로 deque.appendleft()를 사용해주었다. 2의 경우: 1. 앞에서 두 번째에 카드가 들어가야 하기 때문에 deque.popleft()를 이용하여 제일 앞의 카드를 빼네준다. 2. 카드를 deque.appendleft()를 이용해 넣는다. 3. 빼낸 카드를 deque.appendlef.. 2021. 4. 26.
크롬 익스텐션 개발기(4) : html 디코딩 웹클리퍼 기능을 구현하면서 발생했던 주요 문제중에 하나는 바로 인코딩/디코딩 문제였다! 이 페이지를 웹클리핑하면 http://news.chosun.com/misaeng/site/data/html_dir/2017/08/21/2017082100911.html http://news.chosun.com/misaeng/site/data/html_dir/2017/08/21/2017082100911.html news.chosun.com 캡쳐에서 보이듯이 웹사이트 정보에 대한 텍스트들이 깨져서 나타났다. 이유를 확인해보니, axios를 이용하여 웹페이지의 html 문서를 가져올 때 utf-8 타입으로 가져오게 되는데, 이 사이트는 content-type이 euc-kr로 되어있어서 한글이 제대로 가져와지지 않았기 때문이.. 2021. 4. 25.
styled-components로 checkbox 커스텀하기 웹 사이트 제작을 하면서 체크박스를 커스텀해야할 상황이 생겼는데, 다들 css를 사용하여 커스텀하는 방법을 사용하고 있었다. 나의 경우에는 styled-components를 사용하여 커스텀을 하고 싶었기 때문에 관련 자료들을 찾아보다가 medium.com/@colebemis/building-a-checkbox-component-with-react-and-styled-components-8d3aa1d826dd Building a Checkbox Component with React and styled-components A (mostly) hack-free approach medium.com 이 분이 작성한 글을 발견하게 되었다! 체크박스 커스텀을 위해서는 4가지 컴포넌트가 필요하다. 1. 체크박스 컨테이.. 2021. 4. 22.
반응형