딕셔너리 응용하기(프로그래머스 모스부호) , 배열순서sorted 추가로 적기

gyeorrr·2023년 6월 4일
0

딕셔너리는 리스트와 비슷한 성질을 가지고있으며,
값1 & 값2가 태그되어 값1을 이용하여 값2를 불러올 수 있는 느낌이라고 생각하면 되는데 인덱싱을 이용하면 원하는 데이터를 편하게 불러올 수 있다

.sort() 와 .sorted()

list1 = [5,4,3,2,1]
copylist = .sort(list1)
print(list1)
>>> [1,2,3,4,5]

list1의 값은 그대로 두고 copylist에 list1의 값을 순서대로 옮기고싶었으나
.sort 같은 경우에는, list1의 값도 같이 순서대로 정리가된다.
list1의 값은 그대로두고 옮기고 싶은 경우에는
copylist = list1[:] 이런식을 쓰면 되지만 sorted를 쓰는 방법도 있다.

하지만 sorted를 이용할 경우에는

list1 = [5,4,3,2,1]
copylist = sorted(list1)
print(list1)
print(copylist)

>>>
[5,4,3,2,1]
[1,2,3,4,5]

list1 의 내용과는 별개로 변수를 추출∙저장 할 수 있다.
별개로 값의 순서를 반대로 뒤집을 수 있는 reverse 함수가 있다
list1.reverse() 크기와 상관없이, 오로지 변수의 값의순서를 반대로 바꿔준다.

딕셔너리와 반복문 응용 모스부호 문제 풀기

모스부호

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'
}

딕셔너리를 이용하여, 원하는 문자 추출하기

딕셔너리의 성질은, ':'기호를 구분으로 a:b 가 있다면 a를 호명했을 때 b의 값을 대신 불러내주는 역할을 띄고있다 (딕셔너리 설명글 참조)
이를 이용해서 문제를 풀어보겠다

문제

letter = ".... . .-.. .-.. ---" 를 글자로 바꿔보기

answer = ''
for i in letter.split():
	answer += morse[i]
    
print(answer)
>>>hello

answer = '' 문자 추출 받을 공간
for i in letter.split() 띄어쓰기를 구분한 리스트를 만듬과 동시에 그걸로 반복 그래서 i는 5번 띄어쓰기로 5번반복함

amswer += morse[i] 문자로 치환 된 값을 answer에 저장

0개의 댓글