백준 2563 < 색종이 > Python
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크https://www.acmicpc.net/problem/2563 2563번: 색종이가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록www.acmicpc.net 📍알고리즘 분류- 구현 📍문제 풀이- 전체 맵은 100 * 100이다- 10 * 10 크기의 정사각형 색종이가 원점에서 x, y 좌표로 얼마나 떨어졌는지 제시된다.- 색종이가 겹쳐진 최종 면적을 구하면 된다 전체 지도를 원소가 0인 100 * 100 크기의 이차원 배열로 표시할 수 있다 0 1 2 3 ... 98 99123...9899 색종이의 좌표가 주어지면, 해당하는 부분을 1로 바꾼..
백준 9655 < 돌 게임 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 📍알고리즘 분류 - 수학 - 다이나믹 프로그래밍 - 게임이론 📍문제 풀이 두 사람 A, B가 게임을 하는데 N개의 돌 중에 1, 3개를 택해서 가져갈 수 있다. 마지막에 가져가는 사람이 이긴다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람은 누구일까? 🤔완벽하게 게임을 했을 때? - 이길 수 있는 상황에서 게임을 이기는 것. 확실한 finish로 시행 횟수를 최소화 하는 것! - 예) N = 7, A, B가 플레이어 A B A 1 3 3(무조건 3을 냄, 1을 내지 않음) 일단 A가 이긴다는 것은 진..
[Python] 10진수를 2진수로 바꾸기
·
✏️ Study/🐍 Python
📍2진수 만들기 구현- 공백 문자열 생성- 원래 수가 0이 되면 종료하는 반복문 생성- 2로 나눈 몫 생성- 2로 나눈 나머지 생성- 나머지를 문자열로 만들고 공백 문자열의 맨 앞에 배치- 반복 INPUT = 7OUTPUT = ""while INPUT != 0: TEMP = INPUT // 2 OUTPUT = str(INPUT % 2) + OUTPUT INPUT = TEMPprint(OUTPUT) # 111"""INPUT TEMP(2로 나눈 몫) OUTPUT(2로 나눈 나머지) 7 3 1 3 1 11 1 0 111..
백준 16964 < DFS 스페셜 저지 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/16964 16964번: DFS 스페셜 저지 첫째 줄에 정점의 수 N(2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에는 트리의 간선 정보가 주어진다. 마지막 줄에는 DFS 방문 순서가 주어진다. DFS 방문 순서는 항상 N개의 정수로 이루 www.acmicpc.net 📍알고리즘 분류 - 자료구조 - 그래프 이론 - 그래프 탐색 - 깊이 우선 탐색 📍문제 풀이 인접 리스트를 만들 수 있는 정보와, 경로가 주어질 때, 주어진 경로가 DFS를 만족하는 경로인지 확인하라 📍의사 코드 경로의 현재 값을 A, 다음 값을 B라고 할 때, 1️⃣주어진 경로를 순회하며, A 와 B를 비교하는 반복문을 만든다 2️⃣분기 - A의 ..
백준 1057 < 토너먼트 > Python
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크https://www.acmicpc.net/problem/1057 1057번: 토너먼트김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를www.acmicpc.net 📍알고리즘 분류- 수학- 브루트포스 📍문제 풀이- 총 팀 수 N과 팀번호 A, B가 주어질 때, A, B 팀이 몇 라운드에서 만나는지 구하라 (A, B 팀은 무조건 이긴다고 가정) - 토너먼트의 규칙은 반드시 2팀씩 묶어 1팀만 올라간다는 것이다따라서 팀 1 2 3 4 가 있다면1라운드에서 묶음 1 1 2 2 로 나타낼 수 있다2라운드에서 묶음 1 1 1 1 로 나타낼 수 있고 토너먼트가 종..
React에서 로컬 캐싱 직접 구현하기
·
✏️ Study/⚛️ React
📍목표 - 검색 API를 호출할 때, API 응답 데이터를 저장하기 - 같은 키워드를 두 번 검색한 경우, API를 호출하지 않고, 저장된 데이터를 활용하기 - data fetching 라이브러리 사용하지 않고 이를 구현하기 📍로컬 캐싱 글로벌 캐싱과 다르게, 로컬내에 캐시를 저장해야 함 (in-memory or web storage) - local 에서 작동하기 때문에 속도가 빠름 (네트워크 필요 X) 캐시를 로컬 스토리지 혹은 세션 스토리지에 저장하면 새로고침 시 데이터 휘발을 막을 수 있지만, 검색 API의 응답 데이터는 중요한 데이터도 아니므로 in-memory에 저장해도 된다 (권장되는 방법) 그리고 웹 스토리지의 경우 메모리 크기에 제한이 있기도 하고, 읽기 쓰기 속도도 당연히 느리다 📍캐시를..