python 21

[Python] 파이썬에서 최소 공배수 함수로 구하기

알고리즘 문제를 풀다 최소 공배수를 구해야 하는 문제를 맞닥뜨렸다.  필자는 for문으로 풀었지만, 풀고 난 후 다른 적합한 풀이 방법이 있나 찾아보다 파이썬에서 최소 공배수를 구하는 함수가 있다는 걸 알았다. 공유도 하고 잊지 않고 다음에 써먹기도 할 겸 포스팅한다 🍀 ✏️ 최소 공배수란?먼저 다들 알고 있겠지만 최소 공배수가 뭔지 간단히 짚고 넘어가보려 한다. 최소 공배수(LCM, Least Common Multiple)는 두 수의 배수 중에서 가장 작은 공통 배수를 의미한다. 예를 들어, 4와 6의 최소 공배수는 12 이다. 개념최소 공배수는 다음과 같은 특성을 가지고 있다.두 수의 공통된 배수 중 가장 작은 수최소 공배수를 구하기 위해 최대 공약수(GCD, Greatest Common Divis..

[programmers lv1.python] 기사단원의 무기 풀이

https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제1차 풀이(❌)def solution(number, limit, power): divisors = [] for i in range(1, number + 1): count = 0 for j in range(1, i + 1): if i % j == 0: count += 1 divisors.append(cou..

[programmers/python] 무작위로 k개의 수 뽑기 풀이

https://school.programmers.co.kr/learn/courses/30/lessons/181858 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제첫 번째 풀이 (❌)def solution(arr, k): answer = list(set(arr))[:k] length = len(answer) if length  로직은 잘 만들었는데, 문제 마지막의 예외처리를 잘못했음을 알 수 있었다. 리스트를 확장시켜야 하는데 리스트 요소 추가 메서드를 헷갈려서 리스트 안에 리스트를 또 만들어버렸다 ㅎ([0, 1, [-1, -1]])..

[Python] 리스트 append 와 extend의 차이

다들 알다시피 append와 extend는 리스트에 요소를 추가하는 메서드다. 알고리즘 문제를 풀다가 extend를 썼어야 할 때에 append를 써서 틀려 이번 기회에 뭐가 다른지 차이점을 확실히 짚고 넘어가고 싶어 포스팅한다. ✏️append(x)append 메서드는 리스트 끝에 요소를 그대로 추가한다. 추가되는 요소는 리스트의 마지막에 추가된다. lst = [1, 2, 3]lst.append(4)print(lst) # 출력: [1, 2, 3, 4] ✏️extend(iterable)반면 extend 메서드는 리스트 끝에 다른 리스트의 모든 요소를 추가한다. 추가되는 요소들은 리스트의 마지막에 순서대로 추가된다. 여기서 iterable은 리스트, 튜플, 문자열 등과 같은 반복 가능한 객체이다.lst1..

[Python] 알고리즘 문제 풀다 발견한 대소문자 바꾸기 메서드.. 우리의 시간을 아끼자 ^ㅡ^

프로그래머스 코딩 기초 트레이닝 문제를 풀던 중 발견한 좋은 메서드가 있어서 공유 & 기억 차 쓰는 글이다. 문제인 즉 이 문제였다 '대소문자 바꾸기'https://school.programmers.co.kr/learn/courses/30/lessons/181949 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr aBcDeFg 를 AbCdEfG 로 바꿔서 출력하면 되는 문제.주어진 건 str = input() 뿐이었고 어떻게 할까 하다가 대문자 소문자, 소문자 대문자로 바꿔주는 함수를 만든 후 입력값에 적용시켜 print 하도록 하는 코드를 만들고 실행시키니 ..

[programmers lv2.python] 롤케이크 자르기 풀이

https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제  1차 풀이 (완전 탐색) 👉 실패def solution(topping): answer = 0 for i in range(len(topping)): a = topping[i:] b = topping[:i] if len(set(a)) == len(set(b)): answer += 1 return answer 오.. ..

[programmers lv2.python] 이진 변환 반복하기 풀이 (리팩토링 다..수..)

https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 1차 풀이 (리팩토링 전) 👉 정답def solution(s): count_zero = 0 count_binary = 0 while s != '1': # 0의 갯수 카운트하고 s의 모든 0 제거 count_zero += s.count('0') s = s.replace('0', '') # s를 s의 길이(c)..

[Python] 리스트와 딕셔너리의 차이

오늘은 알고리즘 문제를 풀어오며 머리속에 둥둥 떠다니던 리스트와 딕셔너리의 개념을 확실히 정립하고 넘어가고자 포스팅을 작성해보려고 한다. 리스트와 딕셔너리 각각의 개념을 예시와 함께 정리하고, 이 둘의 차이와 활용 방법, 더 나아가 리스트와 딕셔너리를 어떻게 조합해서 쓸 수 있을까 까지 정리해보겠다 😋 ✏️ 리스트란?여러 가지 값을 순서대로 저장할 수 있는 데이터 구조이다. a = [1, 5, 2]b = [3, "a", 6, 1]c = []d = list()같은 자료형도 들어갈 수 있고, 다른 자료형도 들어갈 수 있다. 또한 리스트의 길이는 len() 함수를 사용해서 잴 수 있다.a = [1, 5, 2]print(len(a)) # 출력값: 3b = [1, 3, [2, 0], 1]print(len(b..