[백준] 1969. DNA
문제

풀이
- board 배열을 세로로 돌면서 각 문자의 갯수를 count 함.
- count한 결과를 dictionary tmp에 저장해 줌.
- items()함수를 사용하여 key, value를 list형태로 return 받음.
- 문제의 조건대로 갯수는 내림차순, 알파벳은 오름차순으로 정렬함.
- 가장 빈출된 알파벳은 res에 넣어주고, 나머지는 count에 추가 함.
- res배열은 join함수를 통해 문자열로 만들어주고, count는 sum해서 출력해줌.
코드
import sys
def dna() :
    n, m = map(int, sys.stdin.readline().split())
    board = [sys.stdin.readline().rstrip() for _ in range(n)]
    res = []
    count = []
    
    for i in range(m) :
        tmp = dict()
        for j in range(n) :
            if board[j][i] not in tmp.keys() :
                tmp[board[j][i]] = 1
            else :
                tmp[board[j][i]] += 1
        tmp = list(tmp.items())
        tmp.sort(key = lambda x : (-x[1], x[0]))
        res.append(tmp[0][0])
        if len(tmp) != 1 :
            for i in range(1, len(tmp)) :
                count.append(tmp[i][1])
    print(''.join(res))
    print(sum(count))
dna()
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Author And Source
                            
                            이 문제에 관하여([백준] 1969. DNA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://velog.io/@tldjfj123/백준-1969.-DNA
                            
                            
                            
                                저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            

- board 배열을 세로로 돌면서 각 문자의 갯수를 count 함.
- count한 결과를 dictionary tmp에 저장해 줌.
- items()함수를 사용하여 key, value를 list형태로 return 받음.
- 문제의 조건대로 갯수는 내림차순, 알파벳은 오름차순으로 정렬함.
- 가장 빈출된 알파벳은 res에 넣어주고, 나머지는 count에 추가 함.
- res배열은 join함수를 통해 문자열로 만들어주고, count는 sum해서 출력해줌.
코드
import sys
def dna() :
    n, m = map(int, sys.stdin.readline().split())
    board = [sys.stdin.readline().rstrip() for _ in range(n)]
    res = []
    count = []
    
    for i in range(m) :
        tmp = dict()
        for j in range(n) :
            if board[j][i] not in tmp.keys() :
                tmp[board[j][i]] = 1
            else :
                tmp[board[j][i]] += 1
        tmp = list(tmp.items())
        tmp.sort(key = lambda x : (-x[1], x[0]))
        res.append(tmp[0][0])
        if len(tmp) != 1 :
            for i in range(1, len(tmp)) :
                count.append(tmp[i][1])
    print(''.join(res))
    print(sum(count))
dna()
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Author And Source
                            
                            이 문제에 관하여([백준] 1969. DNA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://velog.io/@tldjfj123/백준-1969.-DNA
                            
                            
                            
                                저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
import sys
def dna() :
    n, m = map(int, sys.stdin.readline().split())
    board = [sys.stdin.readline().rstrip() for _ in range(n)]
    res = []
    count = []
    
    for i in range(m) :
        tmp = dict()
        for j in range(n) :
            if board[j][i] not in tmp.keys() :
                tmp[board[j][i]] = 1
            else :
                tmp[board[j][i]] += 1
        tmp = list(tmp.items())
        tmp.sort(key = lambda x : (-x[1], x[0]))
        res.append(tmp[0][0])
        if len(tmp) != 1 :
            for i in range(1, len(tmp)) :
                count.append(tmp[i][1])
    print(''.join(res))
    print(sum(count))
dna()Author And Source
이 문제에 관하여([백준] 1969. DNA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tldjfj123/백준-1969.-DNA저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)