본문 바로가기

알고리즘 문제풀이/프로그래머스 Lv05

[프로그래머스] 코딩테스트 기초 [내 풀이] def solution(date1, date2): return 1 if int(''.join(map(str, date1))) - int(''.join(map(str, date2))) 2023. 5. 31.
[프로그래머스] 코딩 기초 트레이닝 #모든 원소들의 곱은 함수가 없기 때문에 직접 구해야 한다. #다른 사람은 m = eval( )을 이용해서 문자열 수식을 만든 다음에 계산했다. [내 풀이] def solution(num_list): gob = 1 for x in num_list: gob = gob*x hob = sum(num_list) return 1 if gob m else 0 [내 풀이] def solution(my_string, is_prefix): return int(my_string[:len(is_pref.. 2023. 5. 22.
[프로그래머스] 코딩테스트 입문 문제 풀이 [내 풀이] - 문자열 수식이라서 eval() 함수를 사용하려고 했다. def solution(quiz): return ["O" if eval(q.replace('=', '==')) else "X" for q in quiz] [참고 풀이] - 코드 길이는 좀 더 길지만 훨씬 가독성이 좋다고 느껴졌다. - 이 코드의 댓글에 eval() 함수는 현업에서 사용하면 안 된다는 이야기가 있었다. 보안 때문이라고 하던데... 다음에 찾아봐야겠다. 잘 정리되어 있던 글이 있어서 링크 첨부: (https://velog.io/@kylee31/eval) def valid(equation): equation = equation.replace('=', '==') return eval(equation) def solution(.. 2023. 5. 21.
[프로그래머스] 코딩테스트 입문 문제 풀이 def solution(n): answer = 0 for _ in range(n): answer += 1 while answer % 3 == 0 or '3' in str(answer): answer += 1 return answer [내 풀이] - 최대 공약수 구하는 함수 math.gcd(a,b) 활용하지 못해서 추가 함수를 구현해야 했던 점이 아쉽다. - 분자, 분모를 기약분수로 만들지 못해서 불필요한 처리가 생겼다. #약수 구하는 함수? def soinsu(x): i = 2 res = [] while i 2023. 5. 19.
[프로그래머스] 코딩테스트 입문 문제 풀이 def solution(i, j, k): totalCount = 0 for x in range(i, j+1): totalCount += str(x).count(str(k)) return totalCount# 다른 사람 풀이 장점: 1) for문 안에서 어차피 한 줄일 거라면, 리스트 컴프리헨션을 이용하면 앞에 한 줄로 표현 가능(str(i).count(str(k)) 이 부분) 2) 리스트에 담기 때문에 sum( ) 함수 사용 가능 def solution(i, j, k): answer = sum([ str(i).count(str(k)) for i in range(i,j+1)]) return answer [내 풀이] - 너무 복잡해져 버렸다. def solution(emergency): #인덱스가 필요하니까.. 2023. 5. 16.