https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 실버3, 문제의 의도만 파악하면 쉬운 문제다. 기하학 문제들은 누누히 말하지만, 일단 문제가 의도하는바를 명확히 파악하기만 하면, 코드는 어렵지 않게 짤 수 있다는 공통점이 있다. 이 문제도 마찬가지, 의도를 파악하지 못했다면 이걸 어떻게 구현해야될지 막막할테지만 의도만 파악한다면 아주 쉽게 풀 수 있을 것이다. 힌트부터 하나씩 확인하면서 스스로 풀어가보자. 더보기 원의 갯수는 아무..
https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 실버 3 문제이지만 정답비율 22%로 꽤나 사람들을 괴롭히는 문제같다. 개인적으로 기하학 문제들을 푸느냐 풀지 못하느냐는 이것에 달려있는 것 같다. 문제가 의도하는 바를 캐치해냈는가? 이 문제도 처음 봤을때는 이게 도대체 무슨소리인가? 싶었고 그림으로 그려보려 했지만 한시간정도 막막하게 이게 도대체 뭐지? 라는 생각에 사로잡힌채로 두려움에 떨고있었지만 문제의 의도를 파악한 순간 정답은 그냥 자동으로 알게 되는 문제였다. 먼저 힌트부터 보고 다시 한번..
https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 브론즈3 문제인데도 한참 헤메였다. 택시 기하학이라는 비유클리드 기하학이라는 개념이 머리속에 없었기 때문에 문제를 이해하는 것 자체가 안됐다. 코드를 보기 전에 힌트는 아래와 같다. 더보기 D(T1,T2) = |x1-x2| + |y1-y2| 라는 식을 평면 좌표에 나타내었을때, 어떤 의미인지를 평면에 그려서 확인해보자 위 힌트를 보고도 이해가 안간다면 하나 더 보자 더보기 택시 기하학에서의 원의 모양은 아래와 같다. 정..
https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 실버3 문제, 골드5 이하 문제는 매우 쉬운편에 속하는 문제들이라고 생각한다. from sys import stdin string = stdin.readline().strip() substring_set = set() for CurSubstringLength in range(1, len(string)+1): for StartIndex in range(len(string)): if StartIndex + CurSubstringLength
https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 난이도는 실버4 마찬가지로 쉬운문제.. 고민할 것도 없었고 그냥 set함수를 이용해 생성된 듣도못한집합과 보도못한집합을 만든 뒤 intersection을 통해 확인하려 했다. 게다가 파이썬에서 집합은 자동적으로 오름차순 정렬을 하기 때문에 문제에서 요구하는 사전순 정렬도 딱히 해줄 필요 없이 출력만 하면 될 것이라 생각했다. from sys import stdin from collections ..
https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 실버 4문제, 아주 쉬운편에 속하는 문제다. 이 문제도 전형적인 시간초과를 유도하는 문제같아서 내가 아는 한도에서 최대한 시간을 줄일 수 있도록 stdin의 readline을 사용해서 input 받았고, dictionary를 이용하는 코드를 작성해 보았다. import sys N = sys.stdin.readline().strip() all_card_list = ..
https://www.acmicpc.net/problem/1620 실버 4 문제로 쉬운문제인데 일단 입력받는 N,M의 범위가 100,000까지다. 이런 문제는 주로 list에서 for문을 이용해 Brute force 탐색을 하면 시간초과를 보는 경우가 많았다. 단순히 겹치는 요소만 찾아내는 것이라면 set를 이용해서 intersection 등을 이용할 수 있겠지만.. 포켓몬의 이름을 입력했을 때 포켓몬 인덱스를 출력하는 것 말고도 포켓몬 인덱스를 입력했을 때 포켓몬의 이름을 출력하는 코드를 작성해야 하므로 인덱스 접근이 불가능한 set를 이용할 수는 없을것 같았다. 따라서 dictionary를 이용하기로 했다. 사실 처음엔 딕셔너리를 2개 사용한다는 생각을 못하고, dict{"포켓몬이름" : "인덱스"}..
- Total
- Today
- Yesterday
- vae
- 오일석기계학습
- manim
- manim library
- MatrixAlgebra
- kld
- 인공지능
- 3B1B따라잡기
- Manimlibrary
- 기계학습
- 백준
- ai신약개발
- 3b1b
- 최대우도추정
- 제한볼츠만머신
- Matrix algebra
- MLE
- 베이즈정리
- MorganCircularfingerprint
- kl divergence
- ai인공지능
- eigenvector
- 선형대수
- variational autoencoder
- elementry matrix
- manimtutorial
- 이왜안
- eigenvalue
- 파이썬
- marginal likelihood
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |