kokoa
취소

[TIL] vue에서 cytoscape 사용하기 1

계기 개인 프로젝트로 connection 이라는 이름의 프로젝트를 진행중이다. 해당 프로젝트에서는 특정 아이템들을 그래프화시켜서 보여주어야 하는데, 무슨 라이브러리를 쓸지 고민하다가 cytoscape 를 쓰기로 했다. cytoscape를 쓰기로 결심을 하게 된 가장 큰 이유는 아래 demo였다. demo 보러가기 문제는 connection 프...

[기초 PS 지식] 두 원의 교차 여부 판단하기

문제 상황 두 원의 x, y 좌표가 주어지고, 각각 반지름이 주어졌다고 하자. 이때, 두 원이 겹쳐진 부분이 있는지 판단하자. 기본 지식 한번 아래 그림들을 쭉 보면서, A점과 B점 사이의 거리에 집중해보자. 두 원이 겹쳐져 있을 때 두 원이 겹쳐져 있을 때, A점과 B점사이의 거리는 두 원의 반지름의 합(r1 + r2)보다 짧다. 두...

[TIL] python으로 숏코딩 하기 1

n을 입력받고 n번 반복문 돌리기 22155번: Простая задача 문제를 풀고, 숏코딩 풀이들을 살펴보다 알게 되었다. 주어진 상황을 직관적으로 짜보면 아래와 같다. n = int(input()) for i in range(n): 하지만 뒤 코드에 n을 활용하지 않는다면, 아래와 같이 range에 포함시킬 수 있다. for i in...

[BOJ] 3878 점 분리

문제 요약 및 풀이 3878번: 점 분리 사실 1년 전에 푼 문제다. 기하 알고리즘을 갑자기 한번 쓰윽 볼까? 하고 다시 핀 문제인데, 1년동안 회사일을 하면서 다 까먹었음을 느꼈다. 컨벡스헐의 ㅋ 자도 못 구현하고 있었다. 그래서, 그냥 1년 전의 나의 코드를 가져와서 코드를 리팩토링하면서, 다시 공부했다. 풀이 설명은 코드에 주석으로 담...

[BOJ] 22351 수학은 체육과목 입니다 3

문제 요약 및 풀이 22351번: 수학은 체육과목 입니다 3 시작 지점을 특정하는 방법이 중요하다. 시작 지점을 임의의 수로 생각하는게 아니라, 특정 길이의 수로 보고 탐색하면 빠르고, 간단하게 처리할 수 있다. 풀이 코드 s = input() for start_len in range(1, len(s)+1): s2 = s[:start_le...

[BOJ] 1359 복권

문제 요약 및 풀이 1359번: 복권 python itertools에는 너무나 좋은 것이 많다. ㅎㅎ 이 문제는 그냥 모든 경우를 탐색해도 된다. 그냥 빠르게 긁어버리자. (N,M이 8보다 작거나 같다. 경우 의 수가 8C4 정도가 최대다. 충분히 다 탐색할 수 있다.) 풀이 코드 from itertools import combinations...

[BOJ] 20443 배드민턴 대회

문제 요약 및 풀이 20443번: 배드민턴 대회 문제를 딱 보자 마다, 어디선가 봤던 건데… 하고 망설였는데, 결론적으로는 교란순열이었다. (맨날 점화식 까먹는 것 같다.) i) 교란순열의 i번째 항을 d[i]라 하자. ii) 주어진 수가 4의 배수 인 경우, d[i]를 반환한다. iii) 주어진 수가 4의 배수가 아닌 경우, combinati...

[BOJ] 20551 Sort 마스터 배지훈의 후계자

문제 요약 및 풀이 20551번: Sort 마스터 배지훈의 후계자 이진탐색을 잘 하자. 풀이 코드 #include <bits/stdc++.h> #define for1(s,n) for(int i=s; i<n; i++) using namespace std; int N, M, a; int ar[220000]; int main(...

[BOJ] 21966 (중략)

문제 요약 및 풀이 21966번: (중략) 간단한 구현 문제다. 심지어 굉장히 테케가 친절한데, 아래 2번째 테케에서 앞/뒤 11글자를 제외한 나머지 부분이 Man. 으로 한 문장안에 포함된다고 한다. 따라서, 앞 11글자 / 뒤 12 글자(11글자가 아니다라는 것)를 제외하고 그 안에 . 이 있는 경우, 앞 뒤 내용이 서로 다른 문장에 포함...

[BOJ] 1503 세 수 고르기

문제 요약 및 풀이 1503번: 세 수 고르기 너무 많이 틀려가며 풀었다 ㅠ 일단 푸는 방법은 브루트 포스, 다 긁어버리면 된다. 하지만 무작정 다 긁으면 TLE 난다. N이 최대 1000이고, 이것보다 조금은 큰 범위로 세제곱만큼해서 긁어야 하는데, 이걸 다 긁으면? 가뿐히 1억을 넘긴다. 따라서 몇가지 스킵 조건을 걸어서, TLE가...