이름궁합테스트(DP)

qk1890·1일 전
0

BOJ

목록 보기
5/7

https://www.acmicpc.net/problem/17269

1. 코드

n, m = map(int, input().split()) # 이름 문자 갯수
a, b = input().split() # 이름

alp = [3,2,1,2,4,3,1,3,1,1,3,1,3,2,1,2,2,2,1,2,1,1,1,2,2,1]

ab = ''

min_len = min(n, m) # 짧은 이름 판별

for i in range(min_len):# 일단 교차로 나열
    ab += a[i] + b[i]

ab += a[min_len:] + b[min_len:] # 짧은 이름은 0이 될것임

num_list = [alp[ord(i)- ord('A')] for i in ab] # 각 문자를 숫자로 매핑

for i in range(n+m-2):  # 두개가 남을때까지
    for j in range(n+m-1-i): # 각 줄을 전부 다 수행
        num_list[j] += num_list[j+1] 


print("{}%".format(num_list[0] % 10*10 + num_list[1] % 10)) # 헷갈리지 않으려고 format을 주로 사용

2. 기억할 점

슬라이싱과 반복문을 전부 다 해야하는점
출력은 format식으로 하는점

profile
경험을 정리하는 곳

0개의 댓글