분류 전체보기

    문자열 정렬하기(1) - 정규식★→re.sub()

    나의 풀이 def solution(my_string): a=[] for i in my_string: if i.isdecimal(): a.append(int(i)) a.sort() return a ▶ isdecimal() 메서드 사용 다른 사람의 풀이- 정규식이용★ import re def solution(my_string): return sorted(map(int, (list(re.sub('[^0-9]', '', my_string))))) ▶ [^0~9]는 0~9의 숫자가 아닌 문자열을 의미한다.

    모음제거★ → or 에 대한 개념

    나의 풀이 def solution(my_string): for i in my_string: if i == 'a' or i == 'e' or i == 'i' or i =='o' or i == 'u': new_string=my_string.replace(i, '') return new_string 나의 풀이(리펙토링) → 리스트, in연산자 def solution(my_string): for i in my_string: if i in ['a', 'e', 'i', 'o', 'u']: new_string=my_string.replace(i, '') return new_string 다른 사람의 풀이 def solution(my_string): answer='' for k in my_string: if k == "..

    if k == a or k == b: // if k ==a or b:

    ① if k == a or k ==b: ② if k ==a or b: ※ ① 과 ②는 전혀 다른 식이다. (중요) 예시 def solution(my_string): answer='' for k in my_string: if k == "a" or k== "e" or k == "i" or k =="o" or k == "u": #if k == "a" or "e" or "i" or "o" or "u": 전혀 다른 코드임 continue answer+=k return answer 코드 4번째 줄의 경우는 ①에 해당한다. 코드 5번째 줄의 경우는 ②에 해당한다. 이 경우에는 if e: → if 문자열: 이 되어서 항상 참이 나오게 된다.

    팩토리얼★ - 비교를 반복적으로 하는 경우 while을 적극 활용

    나의 풀이 import math def solution(n): a=[] max = -2147000000 for i in range(1, 10): a.append(math.factorial(i)) for j in range(0, len(a)): if n < a[j]: return j elif n == a[j]: return j+1 else: return 10 ▶ 불필요하게 리스트에 넣지 말자 ▶ 리스트를 사용하는 경우 인덱스까지 처리해야 된다. ▶ 비교해야할 수를 직접적으로 비교하자 ▶ 비교를 반복적으로 해야하는 경우에는 while을 적극 활용하자 다른 사람의 풀이 from math import factorial def solution(n): k = 10 while n < factorial(k): k -=..