프로그래머스(파이썬)/LV.0(파이썬)

    컨트롤 제트★★

    문제풀이 def solution(s): answer=[] list=s.split(' ') print(list) for i in range(len(list)): if list[i] == "Z": answer.pop() else: answer.append(int(list[i])) if len(answer) ==0: return 0 else: return sum(answer) 핵심요약 ▶ ★애당초부터 더하려고 하지 말고, 별도로 리스트를 만들어서 생각해 보자 ▶ is.digit(), is.decimal() 모두 문자열의 원소가 음수 예를 들어 -3 인 경우에는 false를 반환하므로 음수가 있는 경우에는 숫자추출 불가 ▶ 따라서 문자열에 음수가 있는 경우에는 정규식을 이용해서 추출한다. 하지만 위 문제에서는 ..

    로그인 성공

    입력값 #입력값 id_pw=["rabbit04", "98761"] db = [["jaja11", "98761"], ["krong0313", "29440"], ["rabbit00", "111333"]] 나의 풀이 def solution(id_pw, db): for i in range(len(db)): if id_pw[0]==db[i][0] and id_pw[1]==db[i][1]: return "login" elif id_pw[0]==db[i][0] and id_pw[1]!=db[i][1]: return "wrong pw" else: return "fail" #if문을 만나지 않고, for문을 정상적으로 다 돈 경우 다른 사람의 풀이 def solution(id_pw, db): answer = 'fail'..

    소인수분해 ★★ - n값을 갱신 + not in 연산자 + 축약연산자

    나의 풀이 def solution(n): i = 2 sets=set() while n != 1: if n % i == 0: n //= i #n =n//i sets.add(i) else: i += 1 result =list(sets) result.sort() return result 다른 사람의 풀이 def solution(n): answer = [] d = 2 while d

    문자열 정렬하기(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의 숫자가 아닌 문자열을 의미한다.