728x90
프로그래머스 입문문제 100개 중(정답률 높은 문제 순으로) 100개를 풀면서 헷갈렸던, 몰랐던 문법들을 정리했다.라스트 5탄!
앞에 1-4 탄이 있지만 각각 별개의 문법이라 순서 상관없이 보면 된다.
현재 이코테 기출문제와 소마백준문제집을 중점으로 풀고있는데 거의 몇 가지 문법을 돌려서 쓰게 된다. 하지만 덕분에 이제 기초 문법을 고민하느라 시간을 더 뺏기진 않는다.😃
1. 바다코끼리 연산자 :=
def solution(id_pw, db):
if db_pw := dict(db).get(id_pw[0]):
return "login" if db_pw == id_pw[1] else "wrong pw"
return "fail"
----------------------
# 바다코끼리 사용 안했을 때
def solution(id_pw, db):
db_pw = dict(db).get(id_pw[0])
if db_pw:
return "login" if db_pw == id_pw[1] else "wrong pw"
return "fail"
2. 나머지, 몫을 한번에 계산해주는 divmod(나누고 싶은 대상, 나눌 숫자)
ex) 프로그래머스_ 치킨쿠폰
def solution(chicken):
count = 0
while chicken > 9:
div, mod = divmod(chicken, 10)
count += div
chicken = div + mod
return count
3. 최소 공배수 구해서 기약분수 만들기 gcd()
ex) 프로그래머스 _유한소수 판별
from math import gcd
def solution(a, b):
b = b / gcd(a, b)
for i in [2, 5]:
while not b % i:
b //= i
return 1 if b == 1 else 2
5. 문자열 밀기
ex) 프로그래머스_ 문자열 밀기
- 문자열의 제일 마지막과 그 제외한 이전을 순서를 바꿔 더해준다.
1. 문자열 인덱싱 사용
def solution(A, B):
for i in range(len(A)):
if A == B:
return i
A = A[-1] + A[:-1]
return -1
2. find( ) 함수 사용
def solution(A, B):
B *= 2 # 오른쪽으로 하나씩 밀었을 때 한바퀴 다 돌면(즉, 처음과 같은 문자열이 되면 끝) 그래서 2번 나열한 것이 최대.
if A in B: # A 문자열이 B 문자열안에 있다면,
return B.find(A) # 그 시작 인덱스를 반환.
return -1
728x90
반응형
'Study > 코테' 카테고리의 다른 글
코딩테스트 파이썬 | 백준 SW마에스트로 모음집, 프로그래머스 고득점 kit 문제 답 모음집 (0) | 2024.02.17 |
---|---|
에라토스테네스의 체 | 프로그래머스 소수찾기 | 파이썬 (1) | 2024.02.14 |
4탄 [프로그래머스 입문 문제] 코테에 필요한 파이썬 기초 문법 정리 (1) | 2024.01.25 |
3탄 [프로그래머스 입문 문제] 코테에 필요한 파이썬 기초 문법 정리 (0) | 2024.01.20 |