내일배움캠프 AI/페어프로그래밍

[페어프로그래밍] 230428 모스부호(1) | .split

생각하는 코댕이 2023. 4. 28. 22:05
728x90

모스부호


페어프로그래밍 결과 코드

# 페어프로그래밍으로 제작한 코드
def solution(letter):
    morse = { 
        '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
        '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
        '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
        '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
        '-.--':'y','--..':'z'
    }
    words = letter.split(" ") # 편지를 공백을 기준으로 쪼개야겠다.
    letter_trans = []
    for a in words: 
        letter_trans.append(morse[a]) # dict에서 찾아서 바꿔줘야겠다.
    answer = ''.join(letter_trans) # str으로 나와야하니깐 join을 써야겠다.
    return answer

+테스트용 코드

더보기
# 페어프로그래밍으로 제작한 코드

import os
os.system("cls")

def solution(letter):
    morse = { 
        '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
        '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
        '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
        '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
        '-.--':'y','--..':'z'
    }
    words = letter.split(" ") # 편지를 공백을 기준으로 쪼개야겠다.
    letter_trans = []
    for a in words: 
        letter_trans.append(morse[a]) # dict에서 찾아서 바꿔줘야겠다.
    answer = ''.join(letter_trans) # str으로 나와야하니깐 join을 써야겠다.
    return answer

# =========테스트공간=============

letter1 = ".... . .-.. .-.. ---"
letter2 = ".--. -.-- - .... --- -."
print("hello : ",solution(letter1))
print("python : ",solution(letter2))

리팩토링 코드

# 팀원이 제작한 다른 코드 | 로직은 같지만 매개변수를 생략하고, data type 변환없이 연산하였다. 

def solution(letter):
    morse = { 
    '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
    '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
    '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
    '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
    '-.--':'y','--..':'z'
    }
    answer = ''
    for i in letter.split(' '):
        answer += morse[i]
    return answer

+테스트용 코드

더보기
# 팀원이 제작한 다른 코드 | 로직은 같지만 매개변수를 생략하고, data type 변환없이 연산하였다. 

import os
os.system("cls")

def solution(letter):
    morse = { 
    '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
    '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
    '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
    '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
    '-.--':'y','--..':'z'
    }
    answer = ''
    for i in letter.split(' '):
        answer += morse[i]
    return answer


# =========테스트공간=============

letter1 = ".... . .-.. .-.. ---"
letter2 = ".--. -.-- - .... --- -."
print("hello : ",solution(letter1))
print("python : ",solution(letter2))

시사점 or 새로이 알게된 점

가능하다면 데이터 타입의 변화 없이 로직을 구성할 수 있는가도 염두해보도록 하자.

728x90