개요관계형 데이터베이스 관리 시스템데이터를 테이블(관계) 형태로 관리행(Row)과 열(Column)로 구성테이블 간 관계를 통해 데이터를 조작하고 검색주로 SQL을 사용SQLRDBMS에서 데이터를 관리하기 위한 표준화된 언어로, 주로 데이터 정의(DDL), 데이터 조작(DML), 데이터 제어(DCL), 트랜잭션 관리(TCL) 명령어로 구성됩니다.DDL (Data Definition Language): 데이터베이스와 테이블 구조를 정의하는 언어예시: CREATE, ALTER, DROPDML (Data Manipulation Language): 데이터를 삽입, 수정, 삭제, 조회하는 언어예시: SELECT, INSERT, UPDATE, DELETEDCL (Data Control Language): 데이터베이..
문제https://www.acmicpc.net/problem/3020 풀이누적합을 활용한 풀이접근법N이 최대 200,000, H가 최대 500,000으로 들어오는 것을 조심해야 한다.단순히 O(NH)로 풀게 될 경우 시간초과가 발생하기 때문에 완전탐색 쪽으로는 생각하지 않았다. 그러면 어떻게 각 구간에 대해 효율적으로 탐색할 수 있을까? 처음에 떠올랐던 건 각 구간 별로 입력을 받을 때마다 갱신하면 되지 않을까였다.N개의 입력에서 갱신하는 방법에 대해 생각한 결과 각 구간 별로 누적합 원리를 활용해서 종유석 | 석순 각각에 대해 카운팅 해준 다음, 누적합을 구하는 방식으로 풀이했다.결과에 대해서는 i구간에 대해 종유석[i] + 석순[i]의 합이 개똥벌레가 부숴야하는 장애물의 개수이며, 최소값을 구한 후 ..
문제https://www.acmicpc.net/problem/1339 풀이자료구조를 활용한 그리디 풀이첫번째 접근법 (오답)다음과 같은 우선순위를 통해서 알파벳에 대한 값을 메겼습니다.자리수가 높은 알파벳 우선같은 자리수라면 개수에 따라서반례2ABBB----wrong : 186ans : 188해당 접근으로는 바로 뒷자리수에 나오는 알파벳에 따라 잘못된 결과가 측정될 수 있었습니다. 두번째 접근법그렇다면 위와 같은 반례에 대해서 어떻게 풀이를 해야할까요?처음에는 단순히 바로 뒤에 나오는 각각의 자리수에 대해서 알파벳의 개수를 측정하고, 비교하려 했는데요. 이렇게 될 경우 로직이 굉장히 복잡해지고 어떻게 코드를 작성해야할지 모르겠더라구요.코드를 아예 지우고 다시 생각을 해본 결과 다음과 같은 로직을 생각할 ..
문제https://www.acmicpc.net/problem/13305 풀이현재 주유소(i)와 다음 주유소(j)의 가격을 비교하여 현재 주유소가 저렴할 경우 다음 거리까지 주유.만약 다음 주유소가 저렴할 경우 현재 주유소에서 다음 주유소까지의 거리만큼만 주유.소스코드import java.io.*;import java.util.StringTokenizer;//BOJ_13305public class Main { static int cityCnt; static int[] dist, store; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new Input..
서론PS중에 좌표에 대한 객체를 생성하고, 동일 좌표 비교가 필요한 경우가 생겼다.아무생각없이 두 객체에 대한 equlas비교를 진행하고 “왜 안되지?”라고 생각했던 건에 대해서 정리해보는 글을 작성하기로 했다.import java.io.*;public class Main { static class Node { int x; int y; public Node(int x, int y) { this.x = x; this.y = y; } } public static void main(String[] args) throws Exception { Node a = new Node(0,0); ..
첫 해커톤 참여를 결정하다.삼성 청년 SW 아카데미(이하 SSAFY) 10기를 수료하고, 방황하던 중 한 외주 프로젝트의 백엔드 포지션을 제안받았습니다. 그 당시 일정이 비어서 참여하게 되었고, 백엔드 2, 프론트 2로 총 4명으로 팀이 구성되었죠.하지만 미팅 과정에서 의견이 맞지않아 무산되었고, 이대로 팀을 해산하기에도 아쉬웠기에 공모전과 해커톤을 알아보던 중 아래와 같은 좋은 기회를 발견하게 되었습니다.9.10 - 9.12 총 3일 간 진행되는 대회이며, 인원도 마침 최대 4명까지 가능했기에 서류 준비를 곧바로 시작하게 되었습니다.조마조마했던 예선 심사팀원 모두 보안에 대한 지식이 얕았기 때문에, 전문적인 보안 솔루션 개발보다는 지정과제로 "사이버범죄"에 포커스를 두고 아이디어를 기획했습니다. 아무래..
나의 첫 컨퍼런스를 인프런과 함께!9월 9일, 인프런과 VMware Tanzu가 협업하여 진행한 특별한 밋업에 참석했던 후기입니다!https://www.inflearn.com/course/offline/josh-long-meetup [지금 무료] [인프런 X VMware Tanzu] Spring Boot 밋업 with Josh Long | 인프런 - 인프런인프런 | , 자바 챔피언, 스프링 개발자 애드버킷Josh Long과 함께하는 특별한 Spring Boot 밋업! 인프런 퇴근길 밋업 with Josh Long 안녕하세요, 인프런입니다.9월 9일, 인프런은 VMware Tanzu와 협업하여 특www.inflearn.com Intro이번 밋업은 스프링 프레임워크 관련 기술과 커뮤니티 활동을 주도하는 세계..
여태껏 클래스 내에서 메서드를 선언할 때 static 한정자에 대한 고민을 해본 적이 없었는데, 이번에 자바의 정석을 읽는 도중 좋은 내용을 건진 것 같아 포스팅하여 정리하고자 한다. public class Test { int x; int y; int add() { return x + y; } int add(int x, int y) { return x + y; }}class Practice { public static void main(String[] args) { Test t = new Test(); }}위와 같은 클래스가 있다고 가정하자.매개변수가 없는 add() 메서드의 경우 인스턴스 변수를..