본문 바로가기

python40

[Python] 딕셔너리(dictionary)에 특정 키(key) 값이 존재하는지 확인 [Python] 딕셔너리(dictionary)에 특정 키(key) 값이 존재하는지 확인 ● 내용 딕셔너리(dictionary)에 특정 키(key) 값이 존재하는지 확인이 필요할 때, 아래와 같이 확인할 수 있다. ● 사용법 if 문과 in 연산을 활용한다. 딕셔너리(dictionary)에 키(key)값이 존재하면 참(True), 존재하지 않으면 거짓(False)을 반환한다. animal = {"frog" : "개구리", "dog" : "개" } # 존재하면 True, 존재하지 않으면 False if "cat" in animal: print("cat은 animal ditionary에 있습니다.") else: print("cat은 animal ditionary에 없습니다.") 2022. 4. 28.
[프로그래머스/Python] 신규 아이디 추천 [프로그래머스/Python] 신규 아이디 추천 ● 문제 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. ● 소스코드 import re def solution(new_id): answer = new_id # Step 1 answer = answer.lower() # Step 2 allowList = r"[^a-z0-9_.-]" answer = re.sub(allowList,"",answer) # Step 3 wh.. 2022. 4. 12.
[프로그래머스/Python] 최솟값 만들기 [프로그래머스/Python] 최솟값 만들기 ● 문제 배열 A, B가 주어질 때 최종적으로 누적된 최솟값을 return 하는 solution 함수를 완성해 주세요. ● 소스코드 def solution(A,B): answer = 0 A.sort(reverse=True) B.sort() for x, y in zip(A,B): answer += x*y return answer ● 풀이 특별한 알고리즘은 없다. 각 요소를 곱해서 더하므로 큰 수와 작은 수가 곱해지도록 만들면 된다. * https://programmers.co.kr/learn/courses/30/lessons/12941 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, .. 2021. 10. 17.
[프로그래머스/Python] 최댓값과 최솟값 [프로그래머스/Python] 최댓값과 최솟값 ● 문제 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. ● 소스코드 def solution(s): answer = '' tmp = s.split(' ') tmp = [int(x) for x in tmp] answer = answer + str(min(tmp)) + " " + str(max(tmp)) return answer ● 풀이 특별한 알고리즘은 없다. 문자열을 공백을 기준으로 파싱하여.. 2021. 10. 13.
[프로그래머스/Python] 행렬의 곱셈 [프로그래머스/Python] 행렬의 곱셈 ● 문제 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. ● 소스코드 import numpy as np def solution(arr1, arr2): answer = [[]] arr1 = np.array(arr1) arr2 = np.array(arr2) answer = np.dot(arr1,arr2).tolist() return answer ● 풀이 특별한 알고리즘은 없다. numpy 패키지에서 행렬곱 연산을 지원하는 dot 함수가 있으므로 이를 사용하여 행렬을 곱한다. answer에는 numpy array를 다시 list 타입으로 변환하여 넣어주면 된다. * https://progra.. 2021. 10. 13.
[프로그래머스/Python] 두 정수 사이의 합 [프로그래머스/Python] 두 정수 사이의 합 ● 문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. ● 소스코드 def solution(a, b): answer = sum([x for x in range(min(a,b),max(a,b)+1)]) return answer ● 풀이 특별한 알고리즘은 없다. 두 정수 사이의 합을 구한다. * https://programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수.. 2021. 10. 12.