본문 바로가기

Java & Intellij

231123 TIL

입문주차 재수강

 

1 - 21. SQL 연습하기

1) MySql 클라이언트 들어가서 create database (명칭); 입력 후 show databases;를 통해 정상적으로 생성되었는지 확인

2) DB 연결하고자하는 프로젝트에서 Database -> + 버튼 -> Data Sources and Drivers 설정하기

    - User: root / Password: 설정한 비밀번호 / Database: 생성한 DB명 입력 후 테스트 커넥션 진행

    - 테스트 성공하면 OK 버튼 눌러서 DB연결

    - Jump to Query Console -> Open to default console 누른 후 내용 입력

 

예시

CREATE TABLE IF NOT EXISTS MAJOR
(
major_code varchar(100) primary key comment '주특기코드', 
major_name varchar(100) not null comment '주특기명',
tutor_name varchar(100) not null comment '튜터'
);

 

CREATE TABLE IF NOT EXISTS STUDENT
(
student_code varchar(100) primary key comment '수강생코드', 
name varchar(100) not null comment '이름',
birth varchar(8) null comment '생년월일',
gender varchar(1) not null comment '성별',
phone varchar(11) null comment '전화번호',
MAJOR_code varchar(100) not null comment '주특기코드',
foreign key(MAJOR_code) references major(MAJOR_code)
);

 

CREATE TABLE IF NOT EXISTS EXAM
(
student_code varchar(100) not null comment '수강생코드', 
exam_seq int not null comment '시험주차', 
score decimal(10,2) not null comment '시험점수',
result varchar(1) not null comment '합불'
);

 

 

application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/{DB명}
spring.datasource.username=root
spring.datasource.password={비밀번호}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.jpa.hibernate.ddl-auto=update

spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true

 

 

 

알고리즘 문제풀이

 

1. 내적

class Solution {
    public int solution(int[] a, int[] b) {
        int n = a.length; // n = a, b의 길이와 같음
        int answer = 0;
        
        for (int i = 0; i < n; i++) {
            answer += a[i] * b[i];
        }
        return answer;
    }
}

 

2. 서울에서 김서방 찾기

import java.util.Arrays;

class Solution {
    public String solution(String[] seoul) {
        int x = Arrays.asList(seoul).indexOf("Kim");
        String answer = "김서방은 " + x + "에 있다";
        
        if (x >= 0) {
            return answer;
        } else {
            return "김서방이 존재하지 않습니다";
        }
    }
}

 

3. 부족한 금액 계산하기

1) 삼항연산자

class Solution {
    public long solution(int price, int money, int count) {
        long sum = 0;
        
        for (int i = 1; i <= count; i++) {
            sum += price * i;
        }
        
        return (sum < money) ? 0 : sum - money;
    }
}

 

2) if문 활용

class Solution {
    public long solution(int price, int money, int count) {
        long sum = 0;
        
        for (int i = 1; i <= count; i++) {
            sum += price * i;
        }
        
        long answer = money - sum;
        
        if (sum > money) {
        	return answer;
        } else {
            return 0;
        }
    }
}

 

long answer를 지정하는 위치에 따라 sum의 누적 여부가 결정되어서 위치를 옮겨준 후에 정상 작동하는 걸 볼 수 있었다.