728x90
프로그래머스 입문문제 100개 중(정답률 높은 문제 순으로) 80개를 풀면서 헷갈렸던, 몰랐던 문법들을 정리했다. 4탄!!
이쯤 푸니깐 이젠 혼자 풀 수 있는게 거의 없다.. 그리고 수학공식들을 알고 있었다면 쉽게 풀었을 문제들도 좀 보인다..
그치만 나는 문과니깐 암기로 승부한다!!
------------------------------------------------------------------------
1. value 값으로 key값 찾기
- dictionary에 사용
reverse = {v:k for k,v in morse.items()}
2. 문자열 나누기 (split( ))
# 문자열 기준
str = "hello world"
new = str.split("e")
print(new) // ["h", "ello world]
# 공백기준
new = str.split() // ["hello", "world"]
3. 문자열 내 개수 확인(count 함수)
array = "helloWorld"
array.count("l") // 3
# 인덱스 1번부터 4번까지중에 "l" 개수
array.count("l", 1, 5) // 2
4. abs( ) 절댓값 구하기
abs(-1) // 1
5. key lamda
- 의미 익명함수를 지칭하는 용어 즉, 기존의 함수(명 등)을 선언하고 사용하던 방식과는 달리 바로 정의하여 사용할 수 있는 함수
- 형식 : lambda 인자 : 표현식
- sorted( )와 사용시
def solution(array, n):
# 첫번째 정렬기준, 두번째 정렬기준
new_a = sorted(array, key = lambda x : (abs(x-n), x-n))
return new_a[0]
- filter( ) 와 사용시
- 한 배열에 같은 문자가 여러 개 일때, 해당 문자의 모든 인덱스 가져오는 법
s_list = ["1", "Z", "3", "Z"]
rest_list = list(filter(lambda x: s_list[x] == "Z", range(len(s_list)))) # ["1", "3"]
6. 바로 직전에 넣은 값 빼기 (ex) 컨트롤제트 문제)
- pop 함수를 이용
def solution(s):
stack = []
for x in s.split():
if x != 'Z':
stack.append(int(x))
else:
if stack:
stack.pop()
return sum(stack)
7. 2진수의 합, 2진수를 10진수로 바꾸는 방법
def solution(bin1, bin2):
a = int(bin1, 2) // 10진수
b = int(bin2, 2) // 10진수
answer = bin(a + b) //2진수로 변경 // 0b123
return answer[2:] // 2번째부터 슬라이싱
8. enumerate( )
- 순서가 있는 자료형(list, set, tuple, dictionary, string)을 입력으로 받았을 때, 인덱스와 값을 포함하여 리턴
- for문과 함께 자주 사용됨
- 인덱스와 값을 동시에 접근하면서 루프를 돌리고 싶을 때 사용
# (인덱스, 원소) 튜플을 생성
for entry in enumerate(["zero", "one", "two", "three"]):
print(entry) # (0, "zero")
# 인덱스와 원소를 각각 다를 변수에 할당하고 싶은 경우
# 두개의 변수를 사용해 인자풀기(unpacking)
for i, eng in enumerate(["zero", "one", "two", "three"]):
print(i, eng) # 0, zero
9. 경우의 수 구하기
- 서로다른 n개에서 k개 고르기
- 수학 공식 : nCk = n! / k!(n-k)!
from math import factorial as f
def solution(n, k):
return f(n) // (f(k) * f(n - k))
- 쉬운 버전
- nCk과 같은 조합 값을 반환한다. (n개의 수에서 k개를 선택)
from math
math.comb(n, k)
728x90
반응형
'Study > 코테' 카테고리의 다른 글
코딩테스트 파이썬 | 백준 SW마에스트로 모음집, 프로그래머스 고득점 kit 문제 답 모음집 (0) | 2024.02.17 |
---|---|
에라토스테네스의 체 | 프로그래머스 소수찾기 | 파이썬 (1) | 2024.02.14 |
3탄 [프로그래머스 입문 문제] 코테에 필요한 파이썬 기초 문법 정리 (0) | 2024.01.20 |
2탄 [프로그래머스 입문 문제] 필요한 파이썬 기초 문법 정리 (0) | 2024.01.14 |