분류 전체보기
-
[Mac] node.js 크롬 웹페이지가 일시적으로 다운되었거나 새 웹 주소로 완전히 이동했을 수 있습니다. 문제 해결법🔥𝗔𝗰𝘁𝗶𝘃𝗶𝘁𝘆/🌊𝗧𝗜𝗟 2021. 8. 21. 10:08
삽질 요약 크롬 업데이트를 하면서 5060포트를 막았다. node.js 서버로 할 때 포트가 5060이면 안되고, 3000으로 변경하니 아주 잘된다. 처음 발견하고 당황하게 된 사진 구글에 검색했더니 나온 해결책 (1) 도전 하라는대로 이름을 portfix로 바꾸고 iterm으로 실행하려고 하니........ iterm이 실행하자마자 꺼졌다 .. ㅠㅠ iterm 문제인가 싶어 폭풍검색하여 발견했는데 command가 원래 login shell로 되어 있었는데, 이를 Command로 바꾸고 /bin/bash -l 를 적으라고 했다. 응~ 해봤더니 안돼~ 구글에 검색했더니 나온 해결책 (2) 도전 Automator로 쉘스크립트 만들기이다. 처음 해봤다 ...ㅋㅋㅋ 응~ 안돼~~~ 🤦🏻♀️ 여기 까지 했을 때..
-
맥북과 아이패드 사이드카 연결 안될 때🔥𝗔𝗰𝘁𝗶𝘃𝗶𝘁𝘆/🌊𝗧𝗜𝗟 2021. 8. 20. 17:07
나는 주로 사이드카 기능을 사용해서 아이패드를 모니터처럼 사용한다. 갑자기 '끔'으로 표시되고 아이패드가 연결기기에 안 뜨는 현상이 발생했다. 그 때 아래 방법을 다 시도해서 해결되었다. 😄 Apple ID로 로그인 되어있는 두 기기를 로그아웃하고 다시 재로그인하기 두 기기(혹은 하나만) 재부팅 맥북에 연결된 다른 블루투스 기기들 연결을 해제하기 기기 시간 초과되었습니다. 라고 뜨면 - 먼저, 블루투스 목록에 있는지 보기. - 같은 와이파이를 쓰고 있는지 보기 https://support.apple.com/ko-kr/HT210380 Sidecar 기능을 이용하여 iPad를 Mac의 보조 디스플레이로 사용하기 Sidecar 기능을 이용해 iPad를 디스플레이처럼 사용하여 Mac 데스크탑을 확장하거나 미러링..
-
SPA란?🍓𝗪𝗲𝗯/𝖩𝖺𝗏𝖺𝖲𝖼𝗋𝗂𝗉𝗍 2021. 8. 20. 16:28
2000년대 초반의 웹페이지는 각 페이지마다 새로운 html을 요청해서 화면을 다시 그리는 방식이었다. 자바스크립트는 DOM을 조작하는 간단한 역할만 했었기 때문에 html의 script 태그에 넣는 것만으로도 충분했다. ajax가 유행했을 때는 자바스크립트의 비중이 조금 더 커졌지만, 페이지 당 자바스크립트 파일 몇 개면 충분했다. SPA(Single Page App)는 하나의 html에 수십, 수백 개의 자바스크립트 파일을 포함하기 때문에 기존 방식이 통하지 않는다. html에 script 태그를 여러개 추가하여 작업하다면, 계속해서 늘어나는 자바스크립트 파일을 관리하기 힘들다. 또한, 선언되는 순서도 신경써야하고, 기존에 생성된 전역 변수를 덮어쓰는 위험도 존재한다. webpack은 여러 개의 자바..
-
[백준/완전탐색] 5618번. 공약수(JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 8. 2. 12:08
문제 https://www.acmicpc.net/problem/5618 풀이 const fs = require('fs'); const input = fs.readFileSync("/dev/stdin").toString().trim().split('\n'); const n = parseInt(input.shift(), 10); const data = input.toString().split(' ').map(Number); data.sort((a, b) => a - b); let result = []; function solution(n, data) { let arrays = []; for (let i = 0; i < n; i++) { let array = new Array(); for (let j = 1;..
-
[백준/최소 스패닝 트리] 1197번. 최소 스패닝 트리, 1922번 네트워크 연결(Python)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 30. 10:24
문제 https://www.acmicpc.net/problem/1197 https://www.acmicpc.net/problem/1922 풀이 최소 스패닝 트리(Minimum Spanning Tree) : 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 그 가중치의 합이 최소인 트리 MST를 구하는 방법은 크루스칼 알고리즘과 프림알고리즘이 있다. 크루스칼 알고리즘 : 모든 간선에 대해 가장 가중치가 작은 간선부터 하나씩 이어나가며 모든 정점을 방문하는 방법 - 사이클이 발생하면 그 간선은 건너 뛰어야 한다. - 사이클 발생유무를 체크하기 위해서는 유니온 파인드 구조를 사용한다. - 간선이 연결하는 두 개의 노드가 같은 집합에 속하면? 사이클이 존재 - 간선이 연결하는 두 개의 노드가 같은 집합..
-
[백준/우선순위큐,힙] 2696번. 중앙값 구하기(Python)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 28. 00:13
문제 중앙값 구하기 https://www.acmicpc.net/problem/2696 풀이 우리가 일반적으로 아는 방법은 일단, 입력을 다 받은 후 정렬하고 가운데 인덱스의 값을 출력하면 되지 않을까?이다. 현재 테스트 케이스 개수가 최대 1000개이고, 각 테스트 케이스 수열 크기가 약 10000개까지인데, 홀수번마다 정렬하여 가운데를 출력하는 방식을 사용하면, 길이가 n인 배열을 정렬할 때는 nlogN이 걸리고, 홀수번마다 정렬하므로 n/2번 x nlogN 해서 약 n^2 logN 으로 계산되고, n이 약 10000(10^4)까지 가능하니까 한개의 테스트 케이스에 10^8 log 10^4이고, 최대 1000개의 테스트 케이스라면 위의 값에 1000을 곱한 10^3 x 10^8 log 10^4 이니까 ..
-
[백준/그리디] 1931번. 회의실배정(JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 26. 18:09
문제 이 문제의 시간제한은 2초로 1초 당 간단한 연산을 1억번(10^8) 정도 계산할 수 있기 때문에 2초면 대략 2억번의 연산까지 허용된다고 생각하고 풀어야 한다. 완전탐색으로 풀었을 시 입력이 최대 10만(10^5)인데, 모든 경우의 수(N^2)를 구한 후 각 경우의 회의개수 중 최대 개수를 구할 수 있지만, 최악의 경우 10^5 x 10^5 = 10^10의 시간 복잡도가 요구되어 효율적이지 않다. 따라서 현재 상황에서는 지금 당장 좋은 것만 고르는 그리디 알고리즘으로 풀어야 한다. 이 문제는 그리디 알고리즘의 대표유형 중 하나인 활동선택문제에 해당한다. (*활동선택문제: 한 번에 하나의 활동만 처리할 수 있는 하나의 강의실에서 제안된 활동들 중 가장 많은 활동을 처리할 수 있는 스케줄을 짜는 문제..
-
[백준/유니온파인드] 20040번. 사이클게임(JavaScript)🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💛 백준 2021. 7. 26. 17:02
문제 https://www.acmicpc.net/problem/20040 풀이 게임을 진행하다가 처음으로 사이클을 완성하는 순간 게임이 종료된다. 몇번째 차례에서 사이클이 완성되었는지, 혹은 아직 게임이 진행중인지 판단하는 문제이다. 즉, 지금까지 그린 선분이 사이클이 이뤄진 것인지 판단하는 문제이다. 현재 제공되는 두 개의 노드의 부모가 같은지 (=하나의 집합인지) 보면 해결되는 유니온 파인드 문제이다. 알고리즘은 다음과 같다. 노드와 노드를 잇기 전에 두 개가 같은 그래프 내에 속해 있는지 두 노드의 부모노드를 확인한다. 부모노드가 같다면 몇 번째 차례에서 완성되었는지 출력한다. 부모노드가 다르다면, 각각의 부모노드를 구한다음 더 작은 값 쪽으로 부모를 합쳐준다. 코드는 다음과 같다. const fs..