분류 전체보기 178

[BOJ] 1717. 집합의 표현

www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1 ≤ n ≤ 1,000,000), m(1 ≤ m ≤ 100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 www.acmicpc.net 문제: 0이면 해당 수가 들어가 있는 집합 둘을 합치고 1이면 둘이 같은 집합인지 확인해라. 문제 이해하기!! 이 문제는 그냥 유니온 파인드라고 광고를 하고 만든 문제인 것 같습니다. 0일 때, 두 집합을 합치고, 1일 때, find() 함수로 둘의 부모를 확인하면 됩니다. 문제를 풀 때, 한 번 틀렸는데... 최대재귀깊이를 생각 못 해서 ㅠㅠ 근데 요즘 백준에서 왜 틀..

Study/BOJ 2021.04.13

[CSSU] HTTP request Methods

첫 번째 주제 - HTTP request Methods 이제부터는 좀 더 깊이 있게 배워보려고 한다. 뭔가.. 수박 겉핥기식으로 배우니까 지식이 오래가지 않는 것 같아서 ㅠㅠ 처음엔 HTTP Methods를 알아본다! 저번에 GET과 POST에 대해서 알아봤는데, 블로그 정리로 알아봤다. 하지만 역시..... 제대로 공부하려면 공식문서가 답이다. 1. GET 진짜 밑의 표를 보고 공부하니까 정말 정확하게 이해하게 되는 것 같아서 기분 좋았다. (1) GET은 본문을 포함해서 Request 하지 않는다. 요청할 때를 생각해보면 쉽다. URL 요청과 헤더만 주로 보내기 때문이다. 이건 정해진 거라서 뭘 설명하기도 그렇다. 그런데!! 이상한 짓을 해본 사람이 있다. libsora.so/posts/http-ge..

Study/CSSU 2021.04.07

[BOJ] 16562. 친구비

www.acmicpc.net/problem/16562 16562번: 친구비 첫 줄에 학생 수 N (1 ≤ N ≤ 10,000)과 친구관계 수 M (0 ≤ M ≤ 10,000), 가지고 있는 돈 k (1 ≤ k ≤ 10,000,000)가 주어진다. 두번째 줄에 N개의 각각의 학생이 원하는 친구비 Ai가 주어진다. ( www.acmicpc.net 문제: 준석이가 돈을 내고 친구를 구하는데, 친구의 친구도 친구가 된다. 최소비용으로 모든 친구를 사겨라. 요즘 최소 스패닝 트리에 대해 다시 리마인드하는 차에 크루스칼 알고리즘의 부모 격인 유니온 파인드 문제들을 풀어보고 있습니다. 거기서도 대표 문제 격인 "친구비" 문제입니다. 사실 문제 이해하는 단계를 지나 알고리즘 분류를 통해 들어갔기 때문에 이해 단계를 생..

Study/BOJ 2021.04.07

Nginx를 활용한 간단한 배포(OS: Linux)

※ 리눅스 상에서 하는 nginx 사용법입니다. ※ 프론트엔드 / 백엔드: React / Fastapi ※ 도메인 설정은 따로 하셔야됩니다. Nginx 활용한 배포 기본 환경 확인 sudo apt-get update를 통해 apt 업데이트 확인 자신이 사용할 환경을 설치합니다.(nodejs, python 등) 저는 react와 fastapi를 사용했던 경험을 활용하기 때문에 밑과 같이 확인! nodejs -v python3 --version 확인 끝 Nginx 설치 sudo apt-get install -y nginx -y 명령어는 설치하겠냐는 Q를 없애줍니다. nginx -v nginx 버전도 확인하세용 프론트엔드 빌드 로컬에서 프로젝트가 이미 있으면 상관없고 git에 지금 올려놨으면 git에서 불러옵..

Study/DevOps 2021.04.04

[BOJ] 1202. 보석도둑

www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 문제: 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하라. 문제 이해하기!! 각 보석의 무게와 가격이 있고, 보석 넣을 가방에는 보석 한 개씩 밖에 못 넣으며, 무게 한도가 있다. 위의 조건에서 생각해 볼 것! 냅색 알고리즘인가? - 하지만 가방이 여러개고 가방에는 보석을 하나만 넣는다. 그러므로 냅색 알고리즘 X 그러면 이제 생각해 볼것은 그리디 알..

Study/BOJ 2021.03.19

[BOJ] 1916. 최소비용 구하기

www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 문제: 목표 도시로 이동하는 최소비용을 구하여라. 문제 이해하기!! 최소 비용 그래프문제라면 제일 먼저 생각해봐야 할 것! 바로 다익스트라입니다. 이 문제도 다익스트라인데요. 그래프 연결은 상호적 연결이 아니기 때문에 한 쪽만 연결해 줍니다. 그리고 다익스트라로 비용 구하시면 됩니다. 문제 풀어보기!! 일단 문제를 보면 M이 10만까지 가능하기 때문에 input을 stdin.r..

Study/BOJ 2021.02.28

안드로이드 앱 개인정보 처리 방침

아래의 개인정보 처리 방침은 태완 개인이 서비스 하는 모든 제품에 적용 됩니다. 1. 개인정보의 처리 목적 태완 은(는) 다음의 목적을 위하여 개인정보를 처리하고 있으며, 다음의 목적 이외의 용도로는 이용하지 않습니다. - 고객 가입의사 확인, 고객에 대한 서비스 제공에 따른 본신 식별 및 인증 등 2. 개인정보의 처리 및 보유 기간 1) 태완 은(는) 정보 주체로 부터 개인정보를 수집할 때 동의 받은 개인정보 보유 이용기간 또는 법령에 따른 개인정보 보유, 이용기간 내에서 개인정보를 처리 및 보유 합니다. 2) 구체적인 개인정보 보유 기간은 다음과 같습니다. - 고객가입 및 관리 : 서비스 이용 계약 또는 회원가입 해지시 까지 3. 개인정보의 제3자 제공에 관한 사항 1) 태완 은(는) 정보주체의 동의..

So on... 2021.02.15

[BOJ] 19621. 회의실 배정 2

www.acmicpc.net/problem/19621 19621번: 회의실 배정 2 서준이는 아빠로부터 N개의 회의와 하나의 회의실을 선물로 받았다. 각 회의는 시작 시간, 끝나는 시간, 회의 인원이 주어지고 한 회의실에서 동시에 두 개 이상의 회의가 진행될 수 없다. 단, www.acmicpc.net 문제: 회의실에 최대한 많은 사람들이 회의할 수 있도록 만들어라. 문제 이해하기!! 일반 회의실 배정 문제와 다른 문제였습니다. 각 회의마다 인원이 다르고 앞과 뒤의 회의랑 회의시간이 무조건 겹치기 때문에 브루트포스 방법을 쓰는 문제였습니다. 문제에서 시작시간이 순서대로 입력이 들어온다는 말이 없어서 sort()를 해주고 시작했습니다. dfs를 재귀적으로 썼고 종료 조건은 N보다 n이 커지면서 res보다 ..

Study/BOJ 2021.02.04

[BOJ] 17135. 캐슬디펜스

www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 문제: 캐슬디펜스에서 궁수가 얼마나 많은 적을 죽일 수 있는가? 문제 이해하기!! 한 바둑판에 병사들 여러개 놓고 1초 지날 때마다 한칸씩 전진하는데 마지막 칸의 밖의 칸에서 궁수가 대기타고 있고 그 대기타는 궁수의 범위안에 적이 들어오면 궁수는 쏴 죽입니다. 근데 궁수도 1초에 한 번씩 밖에 못 죽여서 모두를 죽일 수 없는 경우가 생깁니다. 그 때문에 이 문제가 생겼습니다. 즉, 궁수가 있는 칸까지 병사들이 온다면 그 ..

Study/BOJ 2021.02.03

[BOJ] 17471. 게리맨더링

처음에는 하.. 이걸 어떻게 풀어야 하나 생각했는데 보니까 N이 10개더라구요. 그래서 바로 브루트포스로 돌렸습니다!! ㅎㅎ 그러다가.. dfs로 돌리고 페일.. ㅠㅠ 그리고 bfs로 바꿔서 성공했습니다. (나중에 알았지만, dfs도 풀 수 있는데 하... 제가 다 만들어 놓은 코드에서 합계 계산을 잘 못 했더라구요 ㅠㅠ 까빙..) 풀이 방법은 각각의 N-a와 a개의 도시 조합을 나누어서 브루트포스를 돌리면 됩니다. dfs / bfs 방법 둘 다 가능한데, bfs가 쉽습니다... ㅎㅎ bfs 추천 드릴게요! 코드: from itertools import combinations def bfs_com(x, cnt): global res1 Q = connect.get(x)[:] while Q: tmpp = Q..

Study/BOJ 2021.02.02
반응형