lv.0 100문제 금방 풀 줄 알았는데, 점점 난이도가 올라가니까
한 문제씩 푸는 속도가 느려지고 있다.
이제 교육 끝났으니 다시 성실히 풀어봐야지
중복된 문자 제거
https://school.programmers.co.kr/learn/courses/30/lessons/120888
- if not a in b: not 위치 기억하기
- 문자열은 +, 리스트는 append
def solution(my_string):
answer = ''
for i in my_string:
if not i in answer:
answer += i
return answer
합성수 찾기
https://school.programmers.co.kr/learn/courses/30/lessons/120846
def solution(n):
answer = 0
if n == 1 or n == 2 or n == 3:
return 0
for i in range(2, n+1):
for j in range(2, i):
if i % j == 0:
answer += 1
break
return answer
모스부호
https://school.programmers.co.kr/learn/courses/30/lessons/120838?language=python3
- 딕셔너리 get 활용... morse[i]라고 활용하는 방법 몰랐음!!
def solution(letter):
answer = ''
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'}
for i in letter.split(' '):
answer += morse.get(i)
return answer
리스트 컴프리헨션 풀이
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'}
return ''.join([ morse[i] for i in letter.split()])
A로 B만들기
https://school.programmers.co.kr/learn/courses/30/lessons/120886
sorted()하고 .sort()하고 헷갈리지 말자
def solution(before, after):
if sorted(list(before)) == sorted(list(after)):
return 1
else:
return 0