| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 미니프로젝트
- 마스킹
- 개발일지
- WebSocket
- 2주차
- 정보처리기사
- REDIS
- poetry
- WHERE절
- 장고
- 1주차
- 알고리즘
- channels
- vscode
- Git
- github
- 파이썬
- 백준
- js
- 프로그래머스
- WIL
- sql
- 정보처리기사실기
- 가상환경
- Commpot
- resnet50
- Class
- 프로젝트
- re-id
- 채팅
Archives
- Today
- Total
개발일기
#1 프로그래머스 알고리즘 정리본 본문
코딩테스트 1~20문제를 풀면서 인상깊었던 코드들 정리
1. 몫 구하기
# 내가 짠 코드
def solution(num1, num2):
return num1//num2
# 남이 짠 코드1
def solution2(num1, num2):
return divmod(num1, num2)[0]
#divmod는 몫과 나머지를 구할 수 있다. [0]이 몫, [1]이 나머지 출력
# 남이 짠 코드2
solution3 = int.__floordiv__
# __floordiv__(a,b)는 메서드 뒤 인자가 없이도 출력이 정상작동된다.
2. 짝수 더하기 (n이하의 짝수들의 합 구하기)
# 내가 짠 코드
def solution(n):
a = n//2
b = 0
for i in range(a+1):
b += 2*i
return b
# 남이 짠 코드1
def solution2(n):
return sum(range(0, n+1, 2))
# 남이 짠 코드2
def solution3(n):
return sum(i for i in range(1, n+1) if i % 2 == 0)
# 이건 내가 짠 코드랑 원리는 똑같은데.. 한 줄의 마법 ㅎㅎ 훨씬 짧다 ㅎㅎ
# 나도 다음엔 이렇게 코딩하자!!
3. 평균 구하기(리스트 평균)
# 내가 짠 코드
def solution(numbers):
return sum(numbers)/len(numbers)
# 남이 짠 코드
import statistics
def solution2(numbers):
return statistics.mean(numbers)
4. 좌표평면 문제: 점이 주어졌을 때 위치 구하기
# 내기 짠 코드
def solution(dot):
if dot[0] > 0:
return 1 if dot[1]>0 else 4
else:
return 2 if dot[1]>0 else 3
# 남이 짠 코드
def solution(dot):
quad = [(3,2),(4,1)]
return quad[dot[0] > 0][dot[1] > 0]
# True = 1, False = 0 || [0][0]:3사분면, [0][1]:2사분면, [1][0]:4사분면, [1][1]:1사분면
# 이렇게도 할 수 있구나! 신기했당
5. 최댓값 구하기1 :
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값
# 내가 짠 코드
def solution(numbers):
numbers.sort(reverse=True)
return numbers[0]*numbers[1]
# 남이 짠 코드1
def solution(numbers):
numbers.sort()
return numbers[-2] * numbers[-1]
# 나랑 비슷한 코드지만.. 새로운 관점을 제시해줘서 정리해보았다.
'오류 및 알고리즘정리본' 카테고리의 다른 글
| #4 프로그래머스 순서쌍개수/최빈값찾기 (0) | 2023.04.06 |
|---|---|
| TypeError: can only join an iterable 에러메세지 (feat. 프로그래머스 문자열 뒤집기, 특정 문자 제거하기 알고리즘) (0) | 2023.04.05 |
| #3. 프로그래머스 알고리즘 정리본 (0) | 2023.04.04 |
| #2. 빈도수 큰 알파벳 구하기 (아스키코드) (0) | 2023.04.03 |
| 오류) vscode Git 10k 없애기 (0) | 2023.03.21 |