본문 바로가기

전체 글17

Scraping 강의 - 과제 내용 정리 이번 강의의 과제는 나만의 미니 프로젝트였다! 진짜 미니 프로젝트라기 보단, 앞에서 해왔던 내용들과 이번 강의 내용까지 모두 넣어서 정리할 수 있는 과제였다. 회원 가입 API, 회원 목록 조회 API, 토큰 인증 요청(핸드폰 인증) API, 인증 완료 API를 만든 후 프론트엔드와 연결시키는 것이 과제였다. 백엔드 부분 (API 만들기) 진행 후 테스트 -> 과제로 요구하는 API 전체 완성 후 프론트 연결 이렇게 과제를 진행했다. 1. 백엔드 부분 (API 만들기) - 회원 가입 API 더보기 // 회원 가입 API app.post('/users', async function(req, res){ const {name, personal, phone, prefer, email, pwd} = req.bod.. 2023. 8. 20.
백준 #2309 일곱 난쟁이 브루트 포스로 넘어왔다! 근데 난 수학이 더 좋았던 것 같기도 하다.... 백준 #2309 일곱 난쟁이 문제 아홉 난쟁이의 키가 주어졌을 때 일곱 난쟁이를 찾는 프로그램을 작성 일곱 난쟁이의 키의 합이 100이 됨 입력 아홉 줄에 걸쳐 난쟁이들의 키가 주어짐 각 난쟁이들의 키는 모두 다름 가능한 정답이 여러가지일 경우, 아무거나 출력 나의 생각 입력을 리스트로 받는다 (입력값의 합 - 100)을 하면 없애야 할 두 난쟁이의 키의 합이 나온다 계속 비교해가면서 두 난쟁이를 찾아 없앤다. 제출한 코드 import sys input = sys.stdin.readline dwarf = [] for i in range(9): dwarf.append(int(input().strip())) diff = sum(dwa.. 2023. 8. 19.
백준 #6588 골드바흐의 추측 마지막 수학 문제였다! 이거 다음엔 브루트 포스 부분으로 들어간다. 백준 #6588 골드바흐의 추측 문제 골드바흐의 추측을 검증하는 프로그램 작성 (조건: 백만 이하의 모든 짝수) 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 입력 한 개 이상의 입력 각 테스트 케이스는 짝수 정수 n 한개 (6 이상 100만 이하) 마지막에 0 입력 -> 이를 통해 입력 종료 제출 답 import math, sys max = 1000000 # max = 100 array = [True for i in range(max+1)] # 처음엔 모든 수가 소수(True)인 것으로 초기화 hasGold = False input = sys.stdin.readline # 에라토스테네스의 체 알고리즘 for i in .. 2023. 8. 19.
백준 #2609 최대공약수와 최소공배수 최대공약수와 최소공배수.. 공부를 할 때나 연습을 할 때 정말 정말 많이 했던 문제들이다. 원래는 a, b 각각의 약수에서 공통되는 가장 큰 수를 찾는 방법으로 생각했다. 가장 단순하게 생각했을 때 내 머리로 바로 생각난 방법이라서, 일단 해봤지만 뭔가 다른 더 효율적인 방법이 있을 것 같아 찾아봤고 다양한 방법이 있었지만 유클리드 호제법을 선택하게 되었다. 유클리드 호제법도 정말 많이 사용하는 방법이었고, 내가 이 방법으로도 해봤는지 기억이 안나서 하게 되었다. n = list(map(int, input().split())) n.sort(reverse=True) b = n[0] gcd = n[1] lcm = 1 # 최대공약수 while True: if (b%gcd != 0): temp = b%gcd b.. 2023. 8. 19.