분류 전체보기 290

#10798 : 세로읽기

풀이방법 2023.03.19 입력값의 최대 크기가 최대 15글자씩 5개의 문자열로 매우 작기 때문에, 다음과 같이 단순무식한 방법으로 풀어도 시간초과가 나지 않는다. 먼저, 입력값을 저장할 Character 타입 2차원 배열을 행 5개, 열 15개의 크기로 선언한다. 그리고 입력값을 읽어오는데, 15글자 미만의 길이인 단어가 있을 경우, 그 단어가 끝난 후부터 15번째 글자까지를 알파벳과 숫자를 제외한 다른 글자로 채운다. 나는 '?'로 채웠다. 그 다음, 반복문을 통해 정답을 출력한다. 이때, '?'가 들어있는 부분을 무시해주고 출력한다. 코드 Java(2023.03.19) import java.io.BufferedReader; import java.io.IOException; import java.i..

#2490 : 윷놀이

풀이방법 2023.03.19 3줄의 입력값을 훑으면서, 각 줄마다, 0의 개수 혹은 1의 개수 중 한 가지만 센 후, 센 개수에 맞추어 switch-case 혹은 if문을 실행하면 된다. 코드 Java(2023.03.19) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub BufferedReader br = new Buffered..

4. DATABASE 2 - MySQL CRUD

MySQL CRUD CRUD란 데이터베이스의 4가지 주기능인 Create(데이터 삽입), Read(데이터 조회), Update(데이터 수정), Delete(데이터 삭제)를 가리킨다. 이번 회차에서는 MySQL에서 직접 데이터 삽입, 조회, 수정, 삭제를 해보는 실습을 진행한다. 저번과 동일하게, 데이터베이스 로그인 및 opentutorials 데이터 지정을 완료해주고 빈 topic 테이블을 준비한 뒤 시작한다. SQL의 INSERT 구문 SQL에서 새로운 데이터를 넣는 문장인 INSERT 구문은 다음과 같은 형식을 가진다. INSERT INTO 테이블명 (컬럼1, 컬럼2, ... ) VALUES(컬럼1에 넣을 데이터, 컬럼2에 넣을 데이터, ...); 이 형식에 맞추어 우리의 topic 테이블에 데이터를..

3. DATABASE 2 - MySQL 테이블의 생성

테이블에 대한 기본적인 설명과 함께 테이블 하나를 만들어보는 실습 과정이다. 세 개의 영상으로 구성되어있지만, 각 영상 사이 겹치는 부분이 많아 대제목을 구분하지 않고 합하여 정리하였다. 어떤 테이블을 만들 것인가 실습을 시작하기 전, 어떤 테이블을 만들 것인지를 강사님이 스프레드시트 상에서 보여준다. 테이블의 이름은 topic이며, 각 데이터를 구성하는 컬럼은 다음과 같다. id - 각 데이터를 구분하는 수 title - 토픽의 제목 description - 토픽에 대한 설명글 created - 토픽을 작성한 날짜 및 시각 author - 작성자 profile - 작성자의 소개글 테이블 생성 실습 먼저 저번 회차들에서 세팅해준 대로 root 유저로 로그인한다. (Windows 기준) cmd에 mysql..

2. DATABASE 2 - MySQL 기본

MySQL 의 구조 MySQL의 기본 구조에 대해 설명하는 회차이다. MySQL을 이루는 3가지 기본 요소는 다음과 같다. Table MySQL의 모든 데이터는 table, 즉 표에 저장된다. Database (Schema) 많은 table들 중 서로 연관이 있는 것들을 그룹 짓는 것이 database, 다른 말로 schema들이다. database라는 용어가 혼동을 일으킬 수 있으므로 해당 강의에서는 앞으로 schema라는 용어를 주로 사용할 것이다. Databases Server table을 담은 schema들을 담는 큰 그릇이 database server이다. MySQL 서버 접속 데이터베이스가 제공하는 보안상의 장점 데이터베이스는 파일 시스템과 다르게 보안상의 장점을 가진다. 그 예로 권한 기능이..

1. DATABASE 2 - MySQL 서론

DATABASE 2 - MySQL 강의소개 MySQL이 어떻게 등장하게 되었는지를 가볍게 훑으며, 앞으로 어떤 공부를 하게 될지 예고하는 회차이다. MySQL이 등장하기까지 이전에는 파일만으로 정보를 저장하였지만, 정보가 다양해지고 많아지며 더욱 효율적이고 편리한 데이터 관리 도구가 필요해졌다. 이에 따라 1960년 경 Database 기술이 태동하였고 1970년 경 Egdar Frank "Ted" Codd가 IBM에서 관계형 데이터베이스를 고안한다. 이때 시작된 관계형데이터베이스 개념에서 시작하여, 수많은 관계형 데이터베이스들이 탄생하였다. MySQL도 그 중 하나로, 1994년 스웨덴에서 개발되기 시작하였다. 관계형 데이터베이스의 장점 데이터를 표의 형태로 정리정돈할 수 있다. 정렬, 검색과 같은 작..

0. DATABASE 1 - DATABASE 소개 및 본질 알아보기

https://www.inflearn.com/course/database-2-mysql-%EA%B0%95%EC%A2%8C/dashboard [무료] DATABASE 1&2 - MySQL - 인프런 | 강의 정보기술의 심장인 데이터베이스에 대한 포괄적인 소개를 담고 있습니다. 데이터베이스의 본질을 공부하며 가장 대표적인 관계형 데이터베이스인 MYSQL 을 학습해 봅니다., - 강의 소개 | 인프런 www.inflearn.com 이고잉 강사님은 DATABASE 1과 DATABASE 2 강의를 제작하셨다. 본 인프런 강의는 DATABASE 1 부분 + DATABASE 2 중 MySQL 부분의 합본이다. DATABASE 1 에서는 데이터베이스에 대한 감을 잡는다. 데이터베이스란 무엇이며, 무슨 역할을 하며, 왜..

#1427 : 소트인사이드

풀이방법 사용된 것: 정렬 2022.04.27 이 문제도 예전에 풀었던 문제인데 정리글을 적지 않았어서 지금 적는다. 수가 하나 입력값으로 주어진다. 그 수의 각 자리에 있는 숫자들을 내림차순으로 정렬하여 화면에 출력하는 문제이다. 이 문제는 두 가지 방법으로 풀 수 있다. 첫째는 입력값을 하나의 정수로 받아서 나머지 연산을 이용해 자릿수를 분리하는 방법, 둘째는 입력값을 charArray로 받아서 각각의 문자를 정수로 변환하는 방법이다. 아래 코드는 두 번째 방법을 사용한 정답코드이다. 먼저 주어진 각 자리수의 숫자들을 정수 데이터타입으로 변환하여 저장하였다. 나는 다음과 같이 하였다. 입력값이 띄어쓰기 없는 String으로 주어지므로, 일단 입력값을 char 배열로 변환한다. 배열의 길이는 입력된 수..

#2587 : 대표값2

풀이방법 사용된 것: 수학 정렬 2023.03.12 다섯 개 수의 평균과 중앙값을 구해 화면에 출력한다. 코드 Java(2023.03.12) import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); //수를 담을 배열 선언 Integer[] nums = new Integer[5]; //5개 수의 합을 저장할 변수 선언 Integer sum = 0; //수 읽어와 저장 및 덧셈 for(int i=0; i

#10804 : 카드 역배치

풀이방법 사용된 것: 시뮬레이션 구현 스택 (Stack) 2023.03.12 1부터 20까지의 숫자가 적힌 카드 20장이 오름차순으로 정렬되어있는 상황이다. 시작 수와 끝 수를 입력하면, 그 구간 안의 카드들만 역순으로 배열하면 된다. 시작 수의 끝 수 쌍은 총 10번 주어진다. 보자마자 First In Last Out이라는 생각이 들어, 스택을 사용했다. 주어진 구간 사이의 수들을 순서대로 스택에 넣은 뒤, 스택에서 pop() 하며 수를 바꾸어준다. 이를 10번 반복한다. 코드를 편하게 짜기 위해, 길이가 20이 아닌 21인 배열을 선언하였다. 각 카드의 실제 순서와 배열 상의 인덱스가 서로 일치하도록 하기 위해서이다. 코드 Java(2023.03.12) import java.io.BufferedRea..