이번주 부터는 알고리즘에 대한 교육이 시작이 되었습니다!
알고리즘 예시 문제를 풀면서 배워 나가는 문제입니다.
1. 두수의 차
이런식으로 문제의 정답이 나오게 만들면 되는 문제 입니다.
여기서 제한 사항을 추가하기 위해
import random
def solution(num1, num2):
answer = num1-num2
return answer
a, b = (random.randint(-50000, 50000), random.randint(-50000, 50000))
result = solution(a,b)
랜덤을 넣어서 작성 하였습니다.
2.두수의 곱
두수의 합에서 솔루션 함수의 내용만 바꾸어주면 된다.
import random
def solution(num1, num2):
answer = num1*num2
return answer
a, b = (random.randint(0, 100), random.randint(0, 100))
result = solution(a,b)
3. 두수 비교하기
import random
def solution(num1, num2):
if num1 == num2:
answer = 1
else:
answer = -1
return answer
a, b = (random.randint(0, 10000), random.randint(0, 10000))
result = solution(a, b)
4.나머지 구하기
이번에는 %를 이용해서 나누는 값을 넣어 주는 방법이다.
import random
def solution(num1, num2):
answer = num1 % num2
return answer
a, b = (random.randint(0, 100), random.randint(0, 100))
result = solution(a, b)
5. 몫 구하기
처음에 a // b를 했는데 런타임 오류가 발생해서 구글링 결과 divmod를 이용해서
나누어 주는 방법을 찾아서 이 방법을 이용했습니다.
import random
def solution(num1, num2):
answer = divmod(num1, num2)
return answer[0]
a, b = (random.randint(0, 100), random.randint(0, 100))
result = solution(a, b)
6.나이 출력
여기서는 나이 개산을 하는 법을 적었습니다.
import random
def solution(age):
answer = 2023 - age
return answer
a = random.randint(0, 120)
result = solution(a)
7. 두수의 합
import random
def solution(num1, num2):
answer = num1 + num2
return answer
a, b = (random.randint(-50000, 50000), random.randint(-50000, 50000))
result = solution(a, b)
8. 두수의 나눗셈
두수의 값을 나누고 거기에 1000을 곱한뒤에 int를 넣어서 정수부분만 가져올 수 있도록 한다.
import random
def solution(num1, num2):
answer = int((num1 / num2) * 1000)
return answer
a, b = (random.randint(0, 100), random.randint(0, 100))
result = solution(a, b)
9.각도기
각도기 계산 if
import random
def solution(angle):
if 0 < angle < 90:
answer = 1
elif angle == 90:
answer = 2
elif 90 < angle < 180:
answer = 3
elif angle == 180:
answer = 4
else:
answer = 0
return answer
a = random.randint(1, 180)
result = solution(a)
10.짝수의 합
import random
def solution(n):
answer = 0
for i in range(n // 2):
answer += ((i+1)*2)
return answer
a = random.randint(0, 1000)
result = solution(a)
파이썬 테스트 프로그램
TestProblem이라는 것 이용해서 문제 풀이
파이참 git hub 업로드하기
파이참을 깃 허브에 업로드를 하고 싶어서 새로운 주소를 만들고 거기에 업로드를 할려고 했는데
origin main이 아니라 origin master에 업로드를 했습니다. 그리하여 main으로 옵기기 위해서
https://jeongkyun-it.tistory.com/128
[Git] There isn’t anything to compare 해결 방법
서론 필자가 STS를 이용하여 git commit을 하는 과정 중에 새로 원격지를 생성하여 커밋을 한 후 GitHub에서는 Pull Request는 뜨는데 들어가면 아래와 같은 문구로 뜨는 문제가 발생하였다. 어떻게 해결
jeongkyun-it.tistory.com
이곳에서 방법을 찾을 수 있었으며
파이참에서 git을 이용하기 위해서 아래의 사이트에서 설정법을 찾았으며
PyCharm Terminal Git Bash로 바꾸기
Ctrl + Alt + S 를 누르면 Setting 창이 뜬다. Tools에 Terminal에서 Shell Path를 Git이 저장된 곳의 bin에서 bash.exe 또는 sh.exe를 선택한다 "~/bash.exe" --login 그리고 경로를 " " 로 감싸주고 --login이라고 적어주고 a
jeunna.tistory.com
튜터님 강의
자료구조 알고리즘
코딩테스트를 왜 하나??
코딩 테스트를 통해서 이사람이 문제해결 능력이 있는지! 검사를 하기 위해
공간 복잡도 : 용량을 최대한 적게 사용을 해서 만든다.
시간을 최대한 적게 사용하는 방법을 찾아서 해야한다.
https://velog.io/@welloff_jj/Complexity-and-Big-O-notation
복잡도(Complexity): 시간 복잡도와 공간 복잡도, 그리고 빅오(Big-O) 표기법
시간 복잡도와 공간 복잡도, 그리고 빅오 표기법
velog.io
배열과 리스트
배열
스택과 큐
스택은 : FIFO
선입후출
스택의 삽입연산을 : push
스택의 삭제연산을 : pop
큐는 : FIFO
선입선출
삭제연산이 이루어지는 프론트(front)에서는 인큐(enQueue)가 이루어짐
삽입연산이 이루어지는 (rear)에서는 디큐(deQueue)가 이루어짐
정렬
버블정렬
리스트에서 두개씩 비교해가면서 점점 오른쪽 부터 맞추어 나가는 방식
https://www.daleseo.com/sort-bubble/
[알고리즘] 거품 정렬 - Bubble Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
퀵정렬
분할기법과 재귀 알고리즘을 이용한방법
간단하게 기준점으로 나누고 거기서 또 나누고 나누고.........하는 방식
https://www.daleseo.com/sort-quick/
[알고리즘] 퀵 정렬 - Quick Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
선택정렬
선택정렬은 변수하나를 만들어서 리스트를 돌면서 최솟값을 저장하는 칸에 최솟값이 나올때마다 저장을 하게 한다.
https://www.daleseo.com/sort-selection/
[알고리즘] 선택 정렬 - Selection Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
병합정렬
이 방식은 모두 잘게 쪼게어 만들어주는 방식
https://www.daleseo.com/sort-merge/
[알고리즘] 병합 정렬 - Merge Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
힙 정렬
여려가지의 값중에 가장큰값 또는 작은 값을 빨리 찾아내는 방법
20-07. 힙 정렬
힙에 관한 내용은 [파이썬으로 힙(heap) 구현하기](https://wikidocs.net/194445)를 참조한다. 힙 정렬(Heap sort)은 정렬한 자료를 최대 힙이나…
wikidocs.net
삽입 정렬
하나씩 늘여가면서 비교하는 정렬
https://www.daleseo.com/sort-insertion/
[알고리즘] 삽입 정렬 - Insertion Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
'AI 코딩 교육 TIL' 카테고리의 다른 글
2024-03-06 AI 코딩 TIL (1) | 2024.03.06 |
---|---|
2024-03-05 AI 코딩 TIL (3) | 2024.03.05 |
2024-02-29 AI 코딩 TIL (1) | 2024.02.29 |
2024-02-28 AI 코딩 TIL (0) | 2024.02.28 |
2024-02-27 AI 코딩 TIL (0) | 2024.02.27 |