https://www.acmicpc.net/problem/1969
1969번: DNA
문제 DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오티드의 첫글자를 따서 표현한다. 만약에 Thymine-Adenine-Adenine-Cytosine-Thymine-Guanine-Cytosine-Cytosine-Guanine-Adenine-Thymine로 이루어진
www.acmicpc.net
문제의 입력과 출력을 명확히 이해한 후
저는 문자열의 배열을 선언하여 (마치 이차원 배열처럼) (string은 index단위로 접근이 가능하기 때문에)
입력을 받고 출력할 char배열 hamDNA와 그때의 디스턴스 의 합을 나타내는 변수 hmdistancesum을 선언 하였습니다.
전략은 문자열을 하나씩 확인 하는데 한번에 한자리씩 ...
즉 1번째 문자열의 1번째 자리, 2번째 문자열의 1번째 자리, 3번째 문자열의 1번째 자리.....
그 후 1번째 문자열의 2번째 자리, 2번째 문자열의 2번째 자리, 3번째 문자열의 두번째 자리...를 살펴보아
ACGT중 가장 많이 나오는 숫자로 설정해야 해밍디스턴스는 가장 최소가 되므로 그 값을 hamDNA 벡터에 넣어
주었습니다.
'알고리즘 문제풀이 > 그리디' 카테고리의 다른 글
백준 8980 [C++] (0) | 2020.12.05 |
---|---|
백준 1439 [C++] (0) | 2020.10.16 |
백준 1138 (0) | 2020.02.28 |
백준 1049 (0) | 2020.02.23 |
백준 1946 (0) | 2020.02.23 |