본문 바로가기

Python25

[Python] 프로그래머스 - 삼각형의 완성조건 (1) (입문/DAY13) 제공되는 문제 설명과 제한사항, 입 출력 예시는 다음과 같다: 이번 문제는 세 개의 선분으로 삼각형을 만들 수 있는지 판단하는 로직을 구현하는 것이다. 삼각형이 성립하기 위한 기본 원리만 알면 간단하게 풀 수 있는 문제지만, 어떤 메서드를 쓰느냐에 따라 코드를 더 깔끔하게 다듬을 수 있다.이 문제에서 주의할 점은 '가장 긴 변의 길이'를 찾아내고, 나머지 두 변의 합과 비교해야 한다는 점!이를 명시해서 풀어보자.sides 배열에서 가장 긴 변을 찾기 위해 정렬(Sort)을 이용하고,가장 긴 변이 나머지 두 변의 합보다 작은지 비교한다.파이썬의 삼항 연산자(Conditional Expression)를 사용해 한 줄로 결과를 반환한다.풀이 1 : sort() 메서드 활용리스트 자체를 정렬해버리는 sort().. 2026. 2. 6.
[Python] 프로그래머스 - 소인수분해 (입문/DAY12) 제공되는 문제 설명과 제한사항, 입 출력 예시는 다음과 같다: 이번 문제는 자연수 n의 소인수를 오름차순으로 담은 배열을 반환하는 함수를 만드는 것이다. 단순히 답을 내는 것보다, 어떻게 하면 더 효율적으로 로직을 개선할 수 있을지 고민하며 풀어보았다. 이 문제에서 주의할 점은 소인수를 찾는 과정에서 시간 복잡도를 고려해야 한다는 것과,최종 결과값의 중복 제거 및 정렬이 필요하다는 점!이를 명시해서 단계별로 풀어보자.풀이 1 : 소수 구하기 함수를 활용한 접근 (시행착오)가장 먼저 생각했던 방식은 소수를 구하는 별도의 로직을 짜서 접근하는 것이었다.def get_prime(num): return [i for i in range(2, 1+num) if num%i==0]def solution(n): .. 2026. 2. 5.
Python) split 문자열 메서드 split 문자열 메서드문자열.split(sep)- sep을 구분자 문자열로 사용- 문자열 내 단어를 리스트로 반환주의할점은, 문자열 자체를 바꾸는게 아니라 나눠진 단어들을 리스트로 반환한다는 것이다.그래서 주로 변수에 할당해서 사용한다. 예를들어, '1,2,3' 이라는 문자열에서 각각의 숫자를 리스트에 요소로 넣으려면: '1 2 3' 이라는 문자열에서는:해당 예시를 보면 알 수 있듯이 공백으로 구분되어있으면 인수를 안 넣어도 된다. 참고split 메서드에 대한 Python 공식 문서 : python docs: str.split 2026. 2. 2.
Python ) Lambda Expressions : 람다 표현식 Lambda Expression 6. ExpressionsThis chapter explains the meaning of the elements of expressions in Python. Syntax Notes: In this and the following chapters, extended BNF notation will be used to describe syntax, not lexical anal...docs.python.org lambda expression은 함수를 간결하게 작성한 것익명의 함수라고 생각해도 된다 (함수명이 없기때문) 구조 : lambda parameter : expression 받은 값을 제곱값으로 돌려주는 함수가 있다def square(n): return n**2 .. 2026. 1. 18.
Python ) map, filter 함수 map()공식 문서를 보면 다음과 같이 인수를 사용한다map(function, iterable, /, *iterables, strict=False)iterable 객체의 요소를 각각 function 의 인수에 적용적용한 값을 iterator 로 반환함 예를 들어, 1~5까지의 숫자를 제곱한 값을 각각 받고 싶다면:lst = [1, 2, 3, 4, 5]def square(n): return n**2# 값을 한 줄씩 출력for i in map(square, lst): print(i)# 값을 리스트로 출력print(list(map(square, lst))) # [1, 4, 9, 16, 25] 다중 인수인 경우:def add(a, b): return a + blst1 = [1, 2, 3, 4, .. 2026. 1. 17.
Python ) Assignment vs. Shallow Copy vs. Deep Copy Assignment (할당)= 를 사용해 할당한다두 변수는 메모리 상에서 동일한 객체를 가리킨다값을 변경하면 변경된 값을 두 변수가 가리키는 것이므로 모두 같은 내용이 나온다a = [1, 2, [3, 4]]b = aa.append(5)a[2].append(6)print(a) # [1, 2, [3, 4, 6], 5]print(b) # [1, 2, [3, 4, 6], 5] Shallow Copy (얕은 복사)[:] 또는 copy.copy() 를 사용한다 ( copy.copy() 는 copy 모듈을 사용 )최상위 컨테이너는 새 객체로 생성하지만(복사) 내부 객체는 참조한다단순 리스트 추가는 독립적이지만 내부 중첩 리스트를 수정하면 함께 변경된다import copya = [1, 2, [3, 4]]b = a[:].. 2026. 1. 9.