STUDY/Python

python 코딩테스트 대비하기 1

2023. 4. 7. 11:19

이번 상반기 처음으로 코딩테스트를 보게 되었다!!

일주일정도 시간이 있어서 제주코딩베이스 이호준님 영상 참고해서 공부하려고 한다!

유튜브 + 인프런 눈떠보니 코딩테스트 전날

https://www.youtube.com/watch?v=orf9ailzXvI&t=982s 

재귀함수

1부터 n까지의 합

> 시그마 공식 n*(n+1) // 2

> 수학 공식으로 풀면 시간차이가 엄청 나므로 기본적인 공식 알고 있어야 함

 

재귀 함수로 만들기

def f(n):
	if n <= 1:
    	return 1
    else:	
    	return n + f(n-1)
        
n = 100
print(f(n))

5050

재귀함수 사례

- 반복문은 bottom up, 재귀함수는 top down

- 재귀함수는 종료 조건 필요 (if else 등)

숫자를 꺼꾸로 셀때 편리하다

2진수 구하기

1번 방법

이진수 bin(11)[2:]

8진수 oct()

16진수 hex()

 

2번 방법 (반복문)

문자열로 옆으로 붙이고, 뒤집은 순서로 출력 (아래에서 위로)

x = input()
result = ''
while True:
	if x % 2 == 0:
    	result += '0'
    else:
    	result += '1'
    x = x // 2
    if x == 1:
    	result += str(x)
        print(result[::-1])
        break

3번 방법 재귀함수

def 이진수구하기(입력값):
	if 입력값 < 2:
    	return str(입력값)
    else:
    	return str(이진수구하기(입력값//2) + str(입력값 % 2)
이진수구하기(11)

피보나치

define f(n):
	if n <= 1:
    	return 1
    else:
    	return n * f(n-1)

print(f(n))

세 자리마다 콤마 찍기

- 뒤의 세자리를 먼저 잘라서 ,를 붙이고 앞을 다시 재귀함수로 돌리기

def comma(s):
	if len(s) < 3:
    	return s
    else:
    	return comma(s[:len(s)-3]) + ',' + s[len(s)-3:]
comma('1000000')
# 다른 방법 format 활용
n = 9999999
n = format(n, ',')
print(n)

#9,999,999
  • 재귀함수
'STUDY/Python' 카테고리의 다른 글
  • 프로그래머스 코딩테스트 입문 파이썬 lv.0 (11)
  • 프로그래머스 코딩테스트 입문 파이썬 lv.0 (10)
  • 프로그래머스 코딩테스트 입문 파이썬 lv.0 (9)
  • 프로그래머스 코딩테스트 입문 파이썬 lv.0 (8)
둥둥런
둥둥런
대학원생의 UX, 데이터분석, 개발 공부 기록장📁
둥둥런
Done is better than Perfect
둥둥런
전체
오늘
어제

공지사항

  • About me
  • 분류 전체보기
    • TIL
      • 멋사_AI스쿨_TIL
    • 회고
      • 프로젝트 회고
    • STUDY
      • SQL
      • Python
      • Pandas
      • 태블로
      • 통계
      • 머신러닝 | 딥러닝
      • ETC
      • 그로스마케팅 | 광고
      • UX
    • BOOK
    • EVENT

인기 글

블로그 메뉴

  • 태그
  • 관리
hELLO · Designed By 정상우.
둥둥런
python 코딩테스트 대비하기 1
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.