[C++] 백준 17299번: 오등큰수
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/17299 ✏️ 풀이 입력되는 N의 개수는 1,000,000 (백만)이다.숫자의 크기 또한 최대 1,000,000 (백만)이다. 가장 나이브하게 할 수 있는 방법 Ai 마다 F 배열을 탐색하면 O(백만 X 백만) => 시간초과다.  어떻게 푸는지 모르겠어서 30분 고민했는데 모르겠어서 답을 봤다. 일단 유형이 `stack`이었고, 나는 그걸 생각해 내지 못했으니까 문제에서 무엇을 보고 알고리즘을 유추했어야 했는지 해석하는 풀이를 올리겠다.   `stack`에는 idx가 들어간다. 값이 아니라 idx가 들어가는 이유는 답을 idx 순으로 출력해주어야 하기 때문이다.  stack에 저장되는 조건은 F[idx]가 stk.top()에 들어 있는 ..
[C++] 백준 15989번: 1, 2, 3 더하기 4
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/15989✏️ 풀이 이 문제가 어려운 이유는 중복 순서가 허용되지 않기 때문이다.  당연히 숫자를 바텀업 방식으로 이전의 숫자를 만드는 방법을 활용해야겠다는 생각이 든다. 이게 바로 dp 구나 깨닫는 과정 같은데 점화식 만드는 게 쉽지 않다.  나는 이 문제를 완전 탐색으로도 못 짜겠어서 고생을 했다!그래도 문제가 1, 2, 3으로만 이루어져 있다는걸 생각하면 활용할 수 있다.  이 문제는 점화식을 만드는 과정이 아니라 설명을 하는게 맞는 것 같다. DP.resize(MAX, vector(4, 0)); // 1, 2, 3 인덱스를 사용하기 위한 사이즈 조정DP[0][1] = DP[1][1] = DP[2][1] = DP[2][2] = 1; ..
[C++] 백준 1445번 : 일요일 아침의 데이트
·
problem solving/백준
🔗 문제 https://www.acmicpc.net/problem/1445 ✏️ 풀이문제를 잘 읽어야 하므로 특. 별. 히 캡처를 해왔습니다. 저는 노란 부분만 잘 읽으면 된다고 생각하고 난이도도 골4라고 생각됩니다.  구현 문제는 정리를 하고 풉니다.  [나는 무엇을 구현해야하는가?]2차원 배열에서 출발지가 주어지고 '쓰레기칸', '쓰레기인접칸'을 최소로 밟고 목적지까지 도달하는 것.출발지와 목적지가 주어져있고, 재방문 여부와 상관없이 가중치만 최소로 해야 한다. -> 다익스트라 이렇게 차분히 생각하면 알고리즘을 특정할 수 있고 문제가 쉬워집니다.  [조금의 최적화]특정 위치가 쓰레기 인접칸인지 확인하려고 매번 4방 탐색을 한다?같은 칸을 여러 번 방문하는 다익스트라 특성상 비효율적입니다. 쓰레기위치..
크롤링하지마! 서비스의 데이터를 지키는 Robots.txt 작성하기
·
programming
https://www.robotstxt.org/robotstxt.html  The Web Robots PagesAbout /robots.txt In a nutshell Web site owners use the /robots.txt file to give instructions about their site to web robots; this is called The Robots Exclusion Protocol. It works likes this: a robot wants to vists a Web site URL, say http://www.example.cwww.robotstxt.org  구글이 참 정리를 잘 해놓음 https://developers.google.com/search/docs/cra..
[C++] 백준 13549번: 숨바꼭질3
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/13549  ✏️ 풀이 [알고리즘]다익스트라 X*2로 이동할 경우는 가중치가 0이기 때문에 나이브하게 BFS로 풀면 안 된다.이 경우는 다익스트라로 접근하여 최소 가중치를 찾아주는 방식을 떠올려서 풀면 된다.  [시간 최적화 방법]수빈이가 동생보다 앞에 있다면 뒤로 한 칸씩 이동해줄 수밖에 없다.수빈이가 동생과 같은 위치라면 연산이 필요 없다.if(N >= K) cout  💾  소스#include #include #include #include using namespace std;typedef pair pii;const int MAX_N = 200000 + 1;int N, K;int getAnswer(){ priority_que..
[node.js] axios와 fetch의 비교
·
programming/개념 정리
'왜 axios가 아니라 fetch를 쓰세요?' 팀플을 하다가 질문을 받았다.    나는 개발할 때 정말 이 기능이 우리 프로젝트에 필요한가 많이 잰 후에 도입하는 편이다. 그래서 그러게영..??? 뭐가 더 좋은지 아세요?했더니 우리 팀원들 모두 모른대서 이렇게 직접 알아보게 되었다 😀피드백 수용이 굉장히 빠른 편!ㅎ  ✅ fetch와 axios 차이점1.JSON 처리2. 자동 문자열 변환(stringify)3. Error 처리 4. 성능 => 아주 작은 차이  1. JSON 처리 보통 개발을 할 때 requestDto, responseDto를 만들기 때문에 response를 json으로 파싱해 사용한다.  fetch문을 보자. 2개의 then()이 필요하다.그런데 response.json도 비동기 처..
[DevTool] Gitmoji란? & Gitmoji 툴
·
programming/환경설정 및 팁
예전에 한 번 다룬 적이 있지만 보충할 겸 새로 쓴다.   # Gitmoji🔗깃모지 공식 홈페이지 : https://gitmoji.dev/ 깃모지(Gitmoji)는 Git 커밋 메시지에 이모지를 사용하여 커밋의 내용을 시각적으로 표현하는 방법(?)이다.이모지를 사용함으로써 커밋 메시지를 더 직관적으로 만들고, 코드 변경 사항을 한눈에 이해하기 쉽게 도와준다. 이건 실제 내 Git History인데 Gitmoji의 힘을 느낄 수 있다.    사실 이때도 깃모지 너무 쓰고 싶었는데 팀원들이 정말 싫어해서 못 했다... 나만 문서화랑 컨벤션에 진심이지..나만..  지금하고 있는 프로젝트는 착실히 지키고 있다. 가끔씩 이거 해야해? 하면서 안 지키는 팀원이 있지만 말벌 아저씨처럼 쫓아가서 뭐라하는 중!ㅎㅎ나 ..
[Window] 윈도우에서 이모지를 검색해보자!
·
programming/환경설정 및 팁
전 이모지가 없으면 글을 못 씁니다.윈도우에서 이모지 검색이 안되는 것이 불편하여 방법을 알아왔습니다 🙂 지금까지 이모지 때문에 티스토리에 글 안 쓰고 노션만 업데이트해왔는데 블로그가 너무 죽어서 슬프네요...이렇게 사소한 사용자 편의성으로 사용의 유무가 갈리는데 지원을 안 해? 답답하다 답답해  Window를 직접 만드는 우리 MS사의 답변입니다. 미국인만 사용자냐? ㅠ이모지의 기능 자체가 US 키보드 입력기를 제외한 다른 언어 입력기의 검색기능을 지원하지 않는 디자인으로 개발되었기 때문입니다.https://answers.microsoft.com/ko-kr/windows/forum/all/%EC%9D%B4%EB%AA%A8%EC%A7%80/b1931fb9-b94a-45cc-bd1e-621c4151d46..
[Window] PowerToys로 편하게 살자 & 윈도우에서 맥북처럼 CapsLock으로 한영전환하는 법
·
programming/환경설정 및 팁
윈도우에서 맥북처럼 CapsLock으로 한영전환하는 법 기능은 Microsoft에서 제공하고 있다. 이것저것 한 번 설정해놓으면 엄청 편하니까 맥북이랑 윈도우 둘 다 자주 사용하는 사람에게 정말 추천드립니다.  # 설치하기이 글은 많은 사람들이 설치에 어려움을 느낀다는 걸 알고 쓰는 글입니다..😂안전하게 그냥 공식앱스토어에서 설치하면 금방합니다. 🔗 https://apps.microsoft.com/detail/xp89dcgq3k6vld?hl=ko-kr&gl=KR Microsoft PowerToys - Windows에서 무료 다운로드 및 설치 | Microsoft StoreMicrosoft PowerToys is a set of utilities for power users to tune and str..
[C++] 백준 10159번: 저울
·
problem solving/백준
🔗 문제https://www.acmicpc.net/problem/10159  ✏️ 풀이N개의 정점 (N ≤ 100)M번의 대소 비교처음에는 대소 관계 위상정렬인가 싶었다.하지만 문제는 i번째 아이템이 다른 아이템의 순서를 파악하지 못 하는 수를 출력해줘야 한다. 대소 관계가 주어졌다는 건 그래프 관계로 만들 수 있다는 것이고, 순서를 파악하지 못 한다는건 분리된 그래프라는거 아닐까? 라는 생각으로 dfs랑 플로이드워셜 알고리즘을 생각했다. dfs는 내가 잘 못 하니까 플로이드 워셜 알고리즘으로 풀었다 🙂 플로이드 워셜 문제는 주로 정점이 500개 이하일때 권장되는 풀이이므로 바로 적용해서 풀었다. 플로이드 워셜 시간복잡도 : `O(V^3)`모든 정점 쌍에 대한 최단 경로를 계산하느라 3중 포문을 돌기..