분류 전체보기 51

비동기 통신을 위한 Fetch API 사용

필요한 이유 사용자가 회원 가입 페이지에 들어왔을 때(요청) 해당 페이지를 응답 해주는 상황이였다. 하지만 주소를 선택시 서울시, 경기도 등을 눌렀을 때 해당 시, 도에 해당하는 구 군의 데이터를 요청해 구군선택 부분만 동적으로 변화를 줘야했다. 또한 사용자가 각 "시"를 선택시 응답이 올 때까지 다른 작업(서울시 선택 후 바로 다른 시를 선택, 뒤로 가기 등)을 할 수 있어야 하고 동기로 처리하게 된다면 사용자가 설정한 정보들이 초기화 되기 때문에 나는 JavaScript의 Fetch API를 활용해 비동기로 서버에 데이터를 요청해 처리를 하였다. 여기서 잠깐! 동기와 비동기의 큰 차이는 순차적으로 처리하는가(기다린다.) VS 독립적으로 처리하는가(기다리지 않는다.) 예를 들어, 씻을 때 세수, 양치,..

개발 2024.04.16

[백준] 27172 - 수 나누기 게임

https://www.acmicpc.net/problem/27172 27172번: 수 나누기 게임 《보드게임컵》을 준비하다 지친 은하는 보드게임컵 참가자들을 경기장에 몰아넣고 결투를 시키는 게임 《수 나누기 게임》을 만들었습니다. 《수 나누기 게임》의 규칙은 다음과 같습니다. www.acmicpc.net 문제 한줄 이해 - 각자 숫자가 적힌 카드를 가지고 있을 때 내 카드로 상대방 카드를 나눴을 때 나머지가 0이면 +1점을 얻지만 반대로 나누어 지면 -1점을 얻고 다른 경우에는 무승부로 0점을 얻을 때 각 점수 구하기 생각난 풀이 문제를 읽고 생각난 필요한 조건들 1. 먼저 간단히 모든 경우의 수를 파악해주면 되는거 아니야? 라는 생각에 이중 포문을 사용했다. import sys n = int(sys.s..

알고리즘/Python 2023.09.12

[백준] 2467 - 용액

https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 문제 한줄 이해 - 용액의 특성을 나타내는 정수가 주어졌을 때 용액들을 섞어 최대한 0의 가까운 경우를 구하기 생각난 풀이 문제를 읽고 생각난 필요한 조건들 1. 먼저 문제에서 입력이 정렬된 상태에서 들어온다, n의 값이 크다 -> 투포인터, 이분탐색을 예상해볼 수 있다. 2. 값들 중 2개를 골라 모든 경우의 수를 파악해 제일 작은 경우를 구하면 되지만 시간 복잡도에서 문제가 생긴다 -> ..

알고리즘/Python 2023.09.11

[오라클] SQL의 조회 - 다양한 방식으로 조회하는 WHERE,연산자

WHERE WHERE절은 SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력할 때 사용한다. 자바나 파이썬등의 언어에서 사용하는 if조건절과 비슷하네? 라는 생각이 들었다. SELECT DEPTNO FROM EMP WHERE DEPTNO = 10; --DEPTNO가 10인 행만 출력하기 만약 조건이 여러개라면?? 위에서 말했듯이 자바나 파이썬등의 언어와 비슷한 점이 여기서도 나타난다. 조건을 여러개 걸고 싶을 때 OR, AND등을 사용했는데 SQL도 이를 통해 여러 조건을 명시할 수 있다. --부서번호가 10이거나 30인 SELECT DEPTNO FROM EMP WHERE DEPTNO = 10 OR DEPTNO = 30; --직업이 'SALESMAN'이고 부서번호가 30인 사원의..

[백준] 1167 - 트리의 지름

https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 문제 한줄 이해 - 트리의 지름 구하기 생각난 풀이 https://9-bin.tistory.com/42 지난번에 풀이했던 문제와 같았다. 그래서 이번에 dfs를 활용해 풀이했다. 문제를 읽고 생각난 필요한 조건들 1. 간선의 정보가 입력되고 마지막에 -1이 입력되면 다음으로 넘어간다. -> 원래는 간선의 갯수만큼 입력 받으면 됐는데... 리스트 형식으로 맨 뒤에가 -1이라고 한다 ..

카테고리 없음 2023.09.04

[백준] 16236 - 아기상어

https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 문제 한줄 이해 - N*N격자에 아기상어와 물고기가 있을 때 문제에서 주어진 조건에 맞춰 엄마상어를 부르기 전까지의 시간을 구하기 생각난 풀이 문제를 읽고 생각난 필요한 조건들 문제가 길기도 했고 필요한 조건들이 많다고 생각이 들었다. -> 다행히 문제풀이에 필요한 조건 뽑기 연습을 하고 있어서 다행이다!! 1. 아기상어를 기준으로 각 물고기들까지의 거리를 구하기 -> 아기상어의 위치를 기..

알고리즘/Python 2023.09.03

[백준] 11779 - 최소비용 구하기 2

https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 문제 한줄 이해 - 노드들의 최단 경로와 거리를 출력하기 생각난 풀이 1번째 방법: 문제를 읽고 생각난 필요한 조건들 1. 저번에 풀어본 https://9-bin.tistory.com/37 에서 경로까지 출력해야하는 경우다. ->다익스트라, 경로저장 -> 경로를 어떻게 저장을 해야할지 고민을 해봤지만 쉽사리 떠오르지 않았다. 이때 검색을 해보니 역추적이라는 키워드를..

알고리즘/Python 2023.09.02

[백준] 2638 - 치즈

https://www.acmicpc.net/status?user_id=imagen33&problem_id=2638&from_mine=1 채점 현황 www.acmicpc.net 문제 한줄 이해 - 격자에 치즈와 공기로 채워져 있을 때 치즈가 2변 이상이 공기와 맞닿아(단 치즈로 둘러쌓인 공기는 영향을 주지 않는다) 있으면 한시간마다 녹아서 없어져 버린다고 한다. 이때 총 몇시간이 지나야 다 녹는지 구하기! 생각난 풀이 1번째 방법: 문제를 읽고 생각난 필요한 조건들 1. 우선 각 치즈에 공기에 맞닿는 부분이 몇변인지 세기 -> 먼저 BFS로 0,0부터 탐색을 시작한다 why? 문제에서 가장자리는 무조건 공기라고 주어졌다. 이때 0,0부터 탐색을 진행해 공기일때만 탐색 대상으로 삼으면 치즈로 둘러쌓인 내부는..

알고리즘/Python 2023.09.01

[오라클] SQL의 조회 - SELECT문의 기본 형식

SELECT SELECT문은 데이터베이스에 보관된 데이터를 조회할 때 사용한다. SELECT 열 이름, 출력할 데이터 하나 이상 지정, * (전체 열을 가져오는 문자) FROM 테이블이름 나는 우리말로 바꿨을 때 더 이해하기 쉬웠다. 예를들어 선택한다 무엇을? ~로부터 테이블 즉, 테이블로부터 무엇을 선택해서 조회한다!라고 생각하면 확 와닿았다. SELECT DEPTNO FROM EMP; --왼쪽 이미지 SELECT * FROM EMP; -- 오른쪽 이미지 DISTINCT 이때 부서번호를 조회한 결과를 보면 중복이 돼서 출력이 되는걸 볼 수 있다. 우리가 만약에 중복을 없애고 싶은 경우가 있다면 DISTINCT를 열을 선언하기 전에 붙여서 사용하면 중복을 제거할수 있다. SELECT DISTINCT DE..