본문 바로가기

programming study/항해99 커리큘럼

(82)
[항해99 1기] [Chapter2-1] 자료구조, 알고리즘 (6) (2021.3.10) 01. 정렬 데이터를 순서대로 내열하는 방법 버블 정렬 arr = list(map(int, input().split())) def bubble_sort(arr): n = len(arr) for i in range(n): # n번 반복 for j in range(n - i - 1): # 마지막 원소까지 가지 않아도 됨 if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] bubble_sort(arr) print(arr) 2차 반복문이 나오고 array의 길이 만큼 반복하므로 O(N2) 선택 정렬 매번 가장 작은 숫자를 n번째 앞자리에 바꾼다. arr = list(map(int, input().split())) def selection_sort(a..
[항해99 1기] [Chapter2-1] 자료구조, 알고리즘 (5) (2021.3.9) Baekjoon Online Judge 백준 온라인 저지 사이트의 문제 풀이 11729 문제 링크 n = int(input()) # 옮긴 횟수 count = 0 # 하노이의 탑 원반 옮기기 함수 def moveDisk(d, s, m, e): # d: 원반 갯수, s: 출발 장대, m: 중간 장대, e: 마지막 장대 # 원반을 다 옮기면 재귀함수 호출 종료 if d == 0: return # 원반을 중간 장대에 이동 moveDisk(d - 1, s, e, m) # 가장 큰 원반을 마지막 장대로 이동 print(s, e) # 중간 장대의 원반을 마지막 장대로 옮기기 moveDisk(d - 1, m, s, e) for i in range(n): count = count * 2 + 1 print(count) m..
[항해99 1기] [Chapter2-1] 자료구조, 알고리즘 (4) (2021.3.8) Baekjoon Online Judge 백준 온라인 저지 사이트의 문제 풀이 2869 문제 링크 import math # a : 올라가는 미터, b : 미끄러지는 미터, v : 나무 막대 a, b, v = map(int, input().split()) # 걸린 일수 d = math.ceil(((v - b) / (a - b))) print(d) 10250 문제 링크 t = int(input()) # test 케이스 만큼 입력 받기 for i in range(t): h, w, n = map(int, input().split()) # 호수의 층 번호 f = n % h # 호수의 방 번호 r = (n // h) + 1 # 딱 나누어 떨어지는 경우 if f == 0: f = h r -= 1 print((f * 1..
[항해99 1기] [Chapter2-1] 자료구조, 알고리즘 (3) (2021.3.7) 01. Array vs. LinkedList 경우 Array LinkedList 특정 원소 조회 O(1) O(N) 중간에 삽입 삭제 O(N) O(1) 데이터 추가 데이터 추가시 새로운 메모리 공간을 할당 맨 뒤의 노드만 동적으로 추가 정리 데이터에 접근하는 경우가 빈번한 경우 삽입과 삭제가 빈번한 경우 02. 클래스 클래스: 분류, 집합, 속성과 기능을 가진 객체를 총칭하는 개념 객체: 세상에 존재하는 유일무이한 사물 클래스가 동물이면, 객체는 강아지 또는 고양이가 될 수 있다. 클래스 만들기 객체를 생성할 때 데이터를 넣어주거나, 내부적으로 원하는 행동을 실행하게 할 수 있다. self를 사용해서 객체에 데이터를 쌓을 수 있다. 메소드(method): 클래스 내부의 함수 class Cat: def __..
[항해99 1기] [Chapter2-1] 자료구조, 알고리즘 (2) (2021.3.6) Baekjoon Online Judge 백준 온라인 저지 사이트의 문제 풀이 4344 문제 링크 n = int(input()) for i in range(n): arr = list(map(int, input().split())) # 학생 수 뽑기 s = arr.pop(0) # 평균 구하기 avrArr = sum(arr) / len(arr) # 평균을 넘는 학생 수 구하기 cnt = 0 for j in range(len(arr)): if arr[j] > avrArr: cnt += 1 # 비율 구하고 반올림 후 출력하기 ratio = format((cnt / s) * 100, ".3f") print(ratio, "%", sep="") 4673 문제 링크 # 셀프 넘버가 아닌 수를 받을 배열 check = [..
[항해99 1기] [Chapter2-1] 자료구조, 알고리즘 (1) (2021.3.5) Baekjoon Online Judge 백준 온라인 저지 사이트의 문제 풀이 10869 문제 링크 a, b = map(int, input().split()) print(a + b) print(a - b) print(a * b) print(int(a / b)) print(a % b) comment 고작 일주일 안 풀었다고 여기서 막히다니… 정수화를 하지 않아 오답처리가 되었었다. 2588 문제 링크 a = input() b = input() for i in range(-1, -4, -1): print(int(a) * int(b[i])) print(int(a) * int(b)) 2884 문제 링크 오답 # 하루의 시간은 24시간 # 24시간은 24 * 60 = 1440 분 # 자정을 기준으로 700분을 넘기..
[항해99 1기] [Chapter1] 웹개발 미니 프로젝트 (4) (2021.3.4) [항해99 1기] [Chapter1] 웹개발 미니 프로젝트 (4) (2021.3.4) CSS 오류 서버를 구동했을 때 CSS가 적용이 안되는 오류 CSS 파일 자체는 불러오나, 개발자가 저장한 코드가 적용이 되어있지 않은 상태 이유 웹 서버에서 캐시에 올려놓고 새로운 파일로 교체를 안 해주기 때문이다. 해결책 브라우저에서 캐시를 지우기 css파일이름을 바꾸기 위와같이 CSS에 변경사항이 생기면 ver을 수정하면 적용된다. 회원가입 기능 해쉬 함수 입력 데이터를 랜덤하게 암호화 항상 똑같은 길이의 암호화된 값을 뱉어낸다. 결과 값으로 역으로 유추 불가 패스워드에 사용 일어나는 일 아이디, 패스워드 등을 받아 서버에 넘긴다. 패스워드는 해쉬함수를 통해 암호화 DB에 저장 로그인 기능 JWT JSON Web ..
[항해99 1기] [Chapter1] 웹개발 미니 프로젝트 (3) (2021.3.3) 스크래핑 생생정보통 맛집 스크래핑 파이썬 코드 from selenium import webdriver # 셀레니움, bs4 from bs4 import BeautifulSoup import time from selenium.common.exceptions import NoSuchElementException from pymongo import MongoClient import requests # localhost의 foodlist에 저장하기 client = MongoClient('localhost', 27017) db = client.foodlist driver = webdriver.Chrome('./chromedriver') # 생생정보통 맛집 스크래핑 url = "https://menutong.com..