210525~220812

#7 염기서열과 생물의 저주 210531

hansssi 2021. 6. 1. 01:49

코드잇은 다 좋은데 개인적인 불편한? 점은... 예제마다 코딩창이 있어서 굳이 프로그램을 따로 실행할 필요가 없다는거...? 기껏 받아놓은 intelliJ 써먹지를 않아서 나중에 못 쓸까 걱정이다. 

 

아 공부하기 시렁

 

배열 실습 문제가 주어진 문자열에서 특정 단어가 몇번 나오는지 찾는 건데 음.... 

 

모르겠다!!

 

사실 어제 놀다와서 공부 하기 싫은거...

 

아무튼 문제에서 힌트로 문자열을 char[] 배열로 바꾸는 toCharArray() 메소드를 줬는데, 설마 문자열을 char[] 배열로 바꿔서 일일이 확인하는건 아닐거아녀...... 어떻게 해야 효율적일까으ㅏ아ㅏ아

 

아니 주어진 문자열이 무슨 염기서열이야 염기서열 생물 놓은게 언젠데ㅔㅔㅔㅔ

하...

주어진 염기서열에서 TAGG, CCAG, AGCC가 몇번 나오는지 세라는데,,,,

 

일단 char[] 배열로 바꾸고인덱스가 n 이라면 n, n+1, n+2, n+3 까지가 저 위 세개중 하나랑 같아야 하는건가

 

아니 char[] 배열로 바꿨다 치자. 반대로 문자열로 바꾸는 것도 힌트로 준걸 보면 이것도 써먹어야 된다는 걸텐데 아오ㅗㅗㅗㅗㅗㅗ

 

찾아야 하는 단어 3개의 공통점은 GG, CC 처럼 두개가 연속되는 글자가 있다는 건데, 이걸 이용할 수 있을까 

 

 

아 그러고보니 염기서열에 A, T, G, C 밖에 없었지? 이제 생각났다. A T가 짝대기고 G C가 뚱그런걸로 외우라고 했던것 같은데.... 아... 이게 기억 나는걸 보니 역시 나는 이과였던건가..... 왜 아직도 이과지...?

 

그래서 저 염기서열에 나오는건 A, T, G, C 밖에 없는거고... charArray로 바꿔서 0부터 charArray 크기 만큼 반복문 돌리고 첫 글자가 G면 넘기고, 다른 세개면 두번째 오는걸 비교해서 어떻게저쩧게이렇게 으어어ㅓ어ㅓ 하면 될거같다. 역시 말로 쓰는것 보다는 직접 짜보고 깨지는게 빠르긴 한데.

일단 정리를 하고 코드를 짜야한다고들 하는데 나는 이해를 덜하고 코드를 이상하게 짜면서 이해해가는 것 같다. 사실 많이 고쳐진거긴 하다. 어.. 코드만 잘 짜지면 되겠지 뭐...

 

 

아무래도 의식의 흐름대로 쓰는거다보니 정신 없다. 지금까지 확실한 내용을 정리해보자면

1. 배열을 이루는 알파벳은 A, T, G, C

2. 찾아야 하는 문자열은 TAGG, CCAG, AGCC

3. 문자열을 char[] 배열로 바꾸는 toCharArray() <-> char[] 배열을 문자열로 바꾸는 new String(char[]배열) 사용

4. G로 시작하는 문자열은 없으므로 반복문을 돌릴때 G를 가리키는 인덱스는 패쓰

정도가 생각 나는데... 뭐 더 없나

 

오늘은 피곤하니까 저것만 염두해두고 내일 하는걸로(도망