데이터베이스의 기본
·
Computer Science/Database
데이터베이스일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS라고 하며 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. 또한 데이터베이스는 실시간 접근과 동시 공유가 가능하다. 예를 들어 DBMS에는 MySQL이, 응용 프로그램에는 Node.js나 php가 있다. 1. 엔티티여러 속성을 지닌 명사 예를 들어 회원이라는 엔티티는 이름, 아이디, 주소, 전화번호, ... 등의 무수히 많은 속성을 갖는다. 이때 어떤 속성들을 정의할 것인가는 서비스 요구 사항에 따라 달라진다. 엔티티는 약한 엔티티와 강한 엔티티로 나뉜다. 예를 들어 A가 혼자서는 존재하지 못하고 B..
[Python] 이중 for문 빠져나오기
·
Algorithm/Algorithm
백준 19532번을 풀며 Python에서 이중 for문을 빠져나오는 방법에 대해 알아보았다. import sysa, b, c, d, e, f = map(int, sys.stdin.readline().split())findAnswer = 0for x in range(-999, 1000): for y in range(-999, 1000): if a * x + b * y == c and d * x + e * y == f: print(x, y) findAnswer = 1 break if findAnswer == 1: break 헷갈렸던 부분은 내부 for문에서 조건이 성립할 경우 내부 for문과 외부 for문에서 br..
백준 2941번
·
Algorithm/Baekjoon
백준 2941번 c=, c-, dz=, ...가 한 묶음이니까 한 묶음씩 처리하면 좋겠지만 임의의 문자열을 한 묶음으로 처리하는 법은 모르겠고 처음에는 한 글자씩 따져보는 방법으로 접근했다.import sysword = list(sys.stdin.readline().rstrip())ans = 0for i in range(len(word)): if word[i] == "c": if word[i+1] == "=" or word[i+1] == "-": continue else: ans += 1 elif word[i] == "=" or word[i] == "-": ans += 1 elif word[i] == "d": ..
백준 2581번
·
Algorithm/Baekjoon
직전 문제에 이어 또 시간 초과 에러가 발생했다. 처음 제출한 코드는 다음과 같다.import sysM = int(sys.stdin.readline())N = int(sys.stdin.readline())p = []min = 0for i in range(M, N+1): if i == 1: continue f = 0 for j in range(i): if j+1 == 1: continue elif j+1 == i: continue elif i % (j+1) == 0: f += 1 if f == 0: p.append(i)if len(p) == 0: ..
백준 2869번
·
Algorithm/Baekjoon
백준 2869번 처음으로 시간 초과 에러가 발생했다. 크기가 작은 입력값들에 대해서는 잘 작동하는데 나무의 높이가 아주 높을 경우에 이 에러가 발생하는 듯하다. 먼저 처음 작성한 코드import sysA, B, V = map(int, sys.stdin.readline().split())total = 0day = 0while True: day += 1 total += A if total >= V: break else: total -= Bprint(day) 분명 저 반복문에서 시간 초과 에러가 발생했을 것이다. 반복문을 사용한 이유는 밤에 미끄러지지만 '정상에 도달하면' 미끄러지지 않는다는 조건을 반영하기 위해 A를 더하고 B를 빼기 전 total >= V 여부..
백준 2745번
·
Algorithm/Baekjoon
백준 2745번 백준 문제 풀다가 처음으로 메모리 초과가 떴다. 생소한 에러라 질문글을 참고해 해결해보았다. 먼저 첫 제출 코드import sysN, B = sys.stdin.readline().split()decimal = 0for i in range(len(N)): try: int(N[len(N)-1-i]) decimal += N[len(N)-1-i] * pow(int(B), i) except: decimal += (ord(N[len(N)-1-i])-55) * pow(int(B), i)print(decimal) 메모리 초과 질문글 int(N[len(N)-1-i]) 한다고 N[len(N)-1-i]에 int형으로 변환된 값이 저장되는 건 아닌데 순간 착각했..