목록전체 글 (310)
가오리의 코딩일기
더보기 → 컴퓨터는 CPU를 사용해 연산하고 메모리를 사용해 데이터를 기억한다 → 컴퓨터는 메모리 셀의 크기, 즉 1바이트 단위로 데이터를 저장하거나 읽어들인다 (+) 4GB 메모리는 0~4,294,967,295까지의 메모리 주소를 갖는다 → 메모리에 저장되는 데이터는 데이터의 종류(숫자, 텍스트, 이미지, 동영상)와 상관없이 모두 2진수로 저장된다 💡 변수(variable) → 하나의 값을 저장하기 위해 확보한 메모리 공간 자체, 값의 위치를 가리키는 상징적인 이름 → 변수에 값을 저장하는 것을 할당, 변수에 저장된 값을 읽어 들이는 것을 참조라고 한다 💡 식별자(identifier) → 어떤 값을 구별해서 식별할 수 있는 고유한 이름 → 메모리 주소에 붙인 이름, 값이 아니라 메모리 주소를 기억한다 ..
💡Python DB API(PEP 249) ✏️ API: Application Programming Interface → 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 → 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다 ✏️ 인터페이스 → 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면 → 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템 ✏️ PEP: Python Enhancement Proposal → 파이썬을 개선하기 위한 제안서 ✏️ PEP 249 → Python 모듈 간의 유사성을 장려하기 위해 정의되었다 💡SQLite3 모듈 ✏️ SQLite3 → MyS..
💡 라우팅(Routing) → 플라스크에서 함수는 각각의 주소를 입력해서 들어오는 요청을 담당하는 담당자 → 어떤 요청을 어떤 함수가 응답할 것인가를 연결시켜주는 작업이 필요한데 이런 작업을 라우팅 → 그런 작업을 기술하는 어떤 것을 라우터라고 한다 → 데코레이터(장식자)를 사용해서 route() 함수에 URL을 바인딩한다 → @로 시작하는 것들, 장식하는 도구, 함수를 장식한다고 해서 이런 이름이 붙었다 # 사용자가 어떤 경로를 입력하지 않고 접속하면 인덱스 함수가 응대하라고 담당자를 지정한 것 @app.route('/') def index(): return 'Welcome!' # /hi/로 접속했을 때 hi() 함수가 응대해서 hi, {username}를 응답한다 @app.route('/hi/') d..
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net from collections import deque def dfs(n): visited[n] = True print(n, end=' ') for i in graph[n]: if not visited[i]: dfs(i) def bfs(n): queue = deque([n]) visited[n] = True while queue: v = queue.popleft..
https://www.acmicpc.net/problem/2204 2204번: 도비의 난독증 테스트 꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실 www.acmicpc.net while True: testCase = int(input()) wordList = [] if testCase == 0: break for _ in range(testCase): wordList.append(input()) wordList.sort(key=str.lower) print(wordList[0])
✏️ ES5 vs. ES6 a. let, const 키워드 추가 b. Arrow function 추가 c. Default parameter 추가 d. Template literal 추가 e. Multi-line string f. 클래스 g. 모듈 h. 디스트럭처링 할당 ✏️ 스코프(scope) → 직역하면 영역, 범위라는 뜻, 식별자가 유한 범위를 의미한다 a. 전역 스코프(global scope) → 코드의 가장 바깥 영역, 전역에서 변수를 선언할 경우 그 변수는 전역 스코프를 갖는 전역 변수가 된다 → 어디서든지 참조할 수 있으며 함수 내부에서도 참조 가능 b. 지역 스코프(local scope) → 함수 몸체 내부에서 변수를 선언할 경우 그 변수는 지역 스코프를 갖는 지역변수가 된다 → 자신이 선언..
startNum = int(input()) endNum = int(input()) primes = [] for i in range(startNum, endNum+1): var = 0 if i > 1: for j in range(2, i): if i % j == 0: var += 1 break if var == 0: primes.append(i) if len(primes) > 0: print(sum(primes)) print(min(primes)) else: print(-1)
오늘 동빈이는 여행 가신 부모님을 대신해서 떡집 일을 하기로 했다. 오늘은 떡볶이 떡을 만드는 날이다. 동빈이네 떡볶이 떡은 재밌게도 떡볶이 떠그이 길이가 일정하지 않다. 대신에 한 봉지 안에 들어가는 떡의 총 길이는 절단기로 잘라서 맞춰준다. 절단기에 높이(H)를 지정하면 줄지어진 떡을 한번에 절단한다. 높이가 H보다 긴 떡은 H 위의 부분이 잘린 것이고 낮은 떡은 잘리지 않는다. 예를 들어 높이가 19, 14,10,17cm인 떡이 나란히 있고 절단기 높이를 15cm로 지정하면 자른 뒤 떡의 높이는 15, 14,10,15cm가 될 것이다. 잘린 떡의 길이는 차례대로 4, 0, 0, 2cm이다. 손님은 6cm만큼의 길이를 가져간다. 손님이 왔을 때 요청한 총 길이가 M일 때 적어도 M만큼의 떡을 얻기 위..
동빈이네 전자 매장에는 부품이 N개 있다. 각 부품은 정수 형태의 고유한 번호가 있다. 어느 날 손님이 M개의 종류의 부품을 대량으로 구매하겠다며 당일 날 견적서를 요청했다. 동빈이는 때를 놓치지 않고 손님이 문의한 부품 M개 종류를 모두 확인해서 견적서를 작성해야 한다.이때 가게 안에 부품이 모두 있는지 확인하는 프로그램을 작성해보자. 이때 손님이 요청한 부품 번호의 순서대로 부품을 확인해 부품이 있으면 yes를, 없으면 no를 출력한다. 구분은 공백으로 한다. 입력 첫째 줄에 정수 N이 주어진다. 둘째 줄에는 공백으로 구분하여 N개의 정수가 주어진다. 이때 정수는 1보다 크고 1,000,000 이하이다. 셋째 줄에는 정수 M이 주어진다 넷째 줄에는 공백으로 구분하여 M개의 정수가 주어진다. 이때 정수..