728x90

분류 전체보기 258

9. 관계형 데이터베이스의 꽃 JOIN (17)

관계형 데이터베이스의 꽃 JOIN 각각 독립적인(분리된) 테이블을 읽을 때, 그 테이블이 하나의 테이블로 저장되어 있었던 것과 같은 효과. 테이블과 테이블을 JOIN 하기 위해서는, 데이터베이스가 어떠한 목적을 가지고 있는지를 말할 수 있어야 한다. SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id; topic 테이블의 author_id 값과, author테이블의 id 값이 같다 SELECT topic.id, title, description, created, name, profile FROM topic LEFT JOIN author ON topic.author_id = author.id; 행을 보기 편하게 바꾸고 싶을 때,, //오..

7. 관계형데이터베이스의 필요성 (15)

관계형 데이터베이스(Realtional Database)의 필요성 데이터베이스에 중복된 데이터가 있다 => 개선의 여지가 있다. 데이터가 많이 중복될수록 많은 문제가 야기됨(복잡하고 용량이 큰 데이터가 중복될수록) 1. 기술적, 경제적으로 엄청난 손실 2. 데이터를 수정해야 할 때, 낭비되는 시간 3. 데이터의 구분이 어려움 trade off : 장점이 생기면 단점도 생긴다. # 테이블을 분리하지 않으면, 모든 데이터를 한 눈에 볼 수 있기 때문에 직관적으로 데이터를 볼 수 있다. 데이터 변경 시, 여러번 변경해야함. # 테이블을 분리하면, 중복을 줄일 수 있음. 수정이 빠름. 데이터를 볼 때, 해당 데이터에 해당되는 별도의 테이블을 열어서 비교·대조해야 하는 불편함 저장은 분산, 볼 때에는 합쳐서

2258(정육점) - 해결

정육점 문제 은혜는 정육점에서 고기를 사려고 한다. 보통 정육점에서는 자신이 원하는 양을 이야기하면 그 양만큼의 고기를 팔지만, 은혜가 방문한 정육점에서는 세일 행사를 하고 있었기 때문에 N 덩어리의 고기를 이미 잘라놓고 판매하고 있었다. 각각의 덩어리들은 이미 정해져 있는 무게와 가격이 있는데, 어떤 덩어리를 샀을 때에는 그 덩어리보다 싼 고기들은 얼마든지 덤으로 얻을 수 있다(추가 비용의 지불 없이). 또한 각각의 고기들은 부위가 다를 수 있기 때문에 비용과 무게와의 관계가 서로 비례하는 관계가 아닐 수도 있다. 은혜는 이러한 점을 고려하지 않고, 어느 부위든지 자신이 원하는 양만 구매하면 되는 것으로 가정한다. 또한 만약 가격이 더 싸다면 은혜가 필요한 양보다 더 많은 고기를 살 수도 있다. 각 덩..

15925(욱제는 정치쟁이야!!) - 해결

욱제는 정치쟁이야!! 문제 1학년 1반의 회장인 욱제는 오늘도 위기에 직면했다. 아이들이 컴퓨터실 사용후 컴퓨터를 중구난방으로 켜놓고 퇴실 해버린 것이다! 전교회장 선거에 출마할 생각인 욱제는 여론 관리를 위해 다음 컴퓨터실 시간표를 고려해서 컴퓨터를 모두 켜거나 꺼두려고 한다. 다음 시간에 컴퓨터실을 사용하는 반이 있다면 컴퓨터를 모두 켜두고, 그렇지 않다면 컴퓨터를 모두 꺼둘 것이다. 컴퓨터실은 N*N개의 학생용 컴퓨터가 정사각형 모양으로 격자에 맞춰 배열되어 있다. N은 항상 홀수이다. 욱제는 N*N 격자 밖의 교사용 컴퓨터로 전원을 제어하려고 한다. 교사용 컴퓨터에 설치된 제어 프로그램은 조금 독특하다(왜인지는 교육청에 문의하는 것이 좋겠다). 이 프로그램은 격자 상에서 사용자가 고른 어떤 한 줄..

22353(헤이카카오) - 해결

헤이카카오 문제 일상을 바꾸는 단어, 헤이카카오는 카카오엔터프라이즈의 인공지능 플랫폼 Kakao i에 기반한 인공지능 비서 어플리케이션이다. 헤이카카오를 사용하면 음악 검색, 길 찾기, 외국어 번역 등 다양한 기능들을 말 한 마디로 이용할 수 있다. 2020 헤이카카오 연말 결산에 따르면, 헤이카카오가 "고마워", "안녕" 다음으로 많이 들은 말은 "끝말잇기 하자"였다고 한다. 방에서 핸드폰을 만지작거리던 이하도 심심풀이로 헤이카카오와 끝말잇기를 해 보기로 했다. 이하는 끝말잇기를 가볍게 여러 판 플레이하고 통계를 냈다. 그 결과 끝말잇기를 한 판 하는 데에는 a분이 걸리며, 현재 자신이 이길 확률은 d%라는 사실을 알게 되었다. 이하는 자신의 승률에 실망하고 이제 집중해서 플레이를 하기로 했다. 이하가..

1182(부분 수열의 합) - 해결

부분수열의 합 문제 N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. 출력 첫째 줄에 합이 S가 되는 부분수열의 개수를 출력한다. SSAFY에서 배운 방법으로 하니 바로 풀렸다 근데 브루트포스는 맞는데 백트랙킹은 된건지 모르겠다... import sys N, S = map(int,sys.stdin.readline().split()) nums = list(map(int,s..

2573(빙산) - 시간 초과 - 해결(PyPy3)

빙산 문제 지구 온난화로 인하여 북극의 빙산이 녹고 있다. 빙산을 그림 1과 같이 2차원 배열에 표시한다고 하자. 빙산의 각 부분별 높이 정보는 배열의 각 칸에 양의 정수로 저장된다. 빙산 이외의 바다에 해당되는 칸에는 0이 저장된다. 그림 1에서 빈칸은 모두 0으로 채워져 있다고 생각한다. 2 4 5 3 3 2 5 2 7 6 2 4 그림 1. 행의 개수가 5이고 열의 개수가 7인 2차원 배열에 저장된 빙산의 높이 정보 빙산의 높이는 바닷물에 많이 접해있는 부분에서 더 빨리 줄어들기 때문에, 배열에서 빙산의 각 부분에 해당되는 칸에 있는 높이는 일년마다 그 칸에 동서남북 네 방향으로 붙어있는 0이 저장된 칸의 개수만큼 줄어든다. 단, 각 칸에 저장된 높이는 0보다 더 줄어들지 않는다. 바닷물은 호수처럼 ..

2565(전깃줄) - 참고

전깃줄 문제 두 전봇대 A와 B 사이에 하나 둘씩 전깃줄을 추가하다 보니 전깃줄이 서로 교차하는 경우가 발생하였다. 합선의 위험이 있어 이들 중 몇 개의 전깃줄을 없애 전깃줄이 교차하지 않도록 만들려고 한다. 예를 들어, 과 같이 전깃줄이 연결되어 있는 경우 A의 1번 위치와 B의 8번 위치를 잇는 전깃줄, A의 3번 위치와 B의 9번 위치를 잇는 전깃줄, A의 4번 위치와 B의 1번 위치를 잇는 전깃줄을 없애면 남아있는 모든 전깃줄이 서로 교차하지 않게 된다. 전깃줄이 전봇대에 연결되는 위치는 전봇대 위에서부터 차례대로 번호가 매겨진다. 전깃줄의 개수와 전깃줄들이 두 전봇대에 연결되는 위치의 번호가 주어질 때, 남아있는 모든 전깃줄이 서로 교차하지 않게 하기 위해 없애야 하는 전깃줄의 최소 개수를 구하..

22352(항체 인식) - 해결

항체 인식 문제 VUNO는 빅데이터와 딥러닝 기술을 통해 학습한 인공지능을 이용해 의학 전문가들의 판단에 도움을 주는 Medical AI 솔루션을 개발하는 전문 기업이다. VUNO는 최근 SP라는 강력한 새로운 촬영 기법을 개발했다. 이 기법을 사용하면 인체 조직이 격자 형태로 표현되고, 격자의 각 칸에는 해당 부분의 각종 분석 결과를 압축한 하나의 데이터 값이 부여된다. VUNO는 이 SP 촬영 기법을 사용해 CPCU-1202라는 새로운 항체를 연구하려고 한다. 조직에 CPCU-1202 백신을 놓으면, 격자의 칸 중 하나에 항체가 생성된다. 이 항체는 현재 속해 있는 칸과 같은 데이터 값을 가지면서 상하좌우로 인접한 칸이 있을 경우 그 칸으로 퍼져나간다. 이 과정을 계속 반복하다가 항체가 더 이상 퍼져..

728x90