전체 글(331)
-
[BOJ] 5014번 : 스타트링크
1. problem : https://www.acmicpc.net/problem/5014 2. solution 1: #include using namespace std;int f, s, g, u, d; typedef long long ll;long long elev[1000005]; // 몇번째에 도착했는지 기록 ; queue Q; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> f >> s >> g >> u >> d; elev[s] = 1; Q.push(s); int dx[2] = { u,-d }; while (!Q.empty()) { int cur = Q.front(); Q.pop(); for (int dir = 0; dir ..
2024.09.18 -
[BioPython] BLAST
0. BLAST란? BLAST란 Basic Local Alignment Search Tool의 줄임말이다. 쉽게 말해서, 내가 알고 있는 Seq와 유사한 Seq가 있는지 찾아주는 알고리즘이다. "바이오파이썬으로 만나는 생물정보학"에 좋은 예시가 있어, 여기서 설명한다. 어떤 질병이 있는 환자 A가 있다. 우리는 이 질병이 어떤 seq가 변이가 되어, 생긴 건지 알고 싶다. 따라서, 환자의 seq를 채취해 , sequencing 회사에 보냈다. 결과 파일을 받았고, Alignment 한 결과, 인간의 genome과 matching 되지 않는 부분이 있음을 발견했다. 그렇다면, 이 부분은 과연 어떤 종에서 유래된 seq란 말인가? 이때, BLAST를 이용한다. BLAST결과 streptococcus pneu..
2024.09.18 -
[BOJ] 2748번 : 피보나치 수 2
1. problem : https://www.acmicpc.net/problem/2748 2. solution 1 :#include using namespace std;int n;long long dp[100]; long long dynamic_func(int k) { if (k == 0 || k == 1) { return k; } if (dp[k]) return dp[k]; return dp[k] = dynamic_func(k-1) + dynamic_func(k-2);}int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n; long long ans = dynamic_func(n); cout dp를 이용하여, 해결하였다. 단순 재귀를 이..
2024.09.18 -
[BOJ] 1759번 : 암호 만들기
1. problem : https://www.acmicpc.net/problem/1759 2. solution 1 :#include using namespace std;int L, C; vector words;vector ans; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> L >> C; for (int i = 0; i > x; words.push_back(x); } sort(words.begin(), words.end()); vector v1(words.size(), 0); fill(v1.end() - L, v1.end(), 1); do { vector temp; int moum_cnt = 0, jaum_cnt = 0; ..
2024.09.16 -
[BioPython] FASTA,FASTQ,GENBANK : SeqIO,Entrez
0. SeqIO를 이용하면, SeqRecord 객체가 만들어진다. ■ 단순히 시퀀스만 handling 할 때는 Seq 객체를 생성하고, 추가적인 정보(ID , name)등을 이용하여야 할 때는 SeqRecord 객체를 생성해 준다. SeqRecord 객체를 만드는 방법은 3가지다. 첫 번째, Seq() 객체를 만든 후, SeqRecord(Seq 객체)를 해준다. 두 번째, fasta파일을 SeqIO.read()를 이용해서 만든다. 세 번째, genbank파일을 SeqIO.read()를 이용해 만든다. Entrez는 NCBI에서 온라인으로 데이터를 받아올 때 사용한다.# Entrez 사용방법 from Bio import SeqIO from Bio import Entrez Entrez.email = 본인..
2024.09.13 -
[BOJ] 2667번 : 단지번호붙이기
1. problem : https://www.acmicpc.net/problem/2667 2. solution 1 :#include using namespace std;#define X first#define Y second int board[28][28]; bool isvis[28][28];int dx[4] = { 0,1,0,-1 }; int dy[4] = { 1,0,-1,0 };queue> Q; vector v;int n; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i > x; for (int j = 0; j = n || ny = n) continue; if (board[nx][ny] ..
2024.09.13