본문 바로가기

전체 글

(351)
[SWEA] 암호문1 Java https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14w-rKAHACFAYD& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 해결방법 ArrayList를 이용한 간단한 문제이다. 다만 아직 자바에 익숙하지 않아서, 입력문 부분에서 애를 먹었지만 입력을 받기만 한다면 쉽게 해결된다. ArrayList의 add()메서드를 이용하면 insert 즉, 해당 인덱스 위치에 값을 집어넣을 수 있다. 이를 이용하면 해결이 가능하다. 2. 정답코드 import java.io.BufferedReader; import java.io..
[MySQL] 기본 내장 함수 (문자열) 1. concat(문자열1, 문자열2, 문자열 N . . .) MySQL에서 문자열을 합쳐주는 기능을 수행하는 내장함수이다. 하지만 조회하거나 합쳐지는 문자열의 값이 NULL이면 concat() 함수의 결과가 NULL로 반환된다. select concat(first_name, ' ', last_name) as full_name from customer; 2. replace( 컬럼, 기존 문자열, 변환할 문자열 ) 특정 문자열을 다른 문자열로 변환, 컬럼에 있는 해당되는 문자를 모두 바꾼다. select replace(first_name, 'A', '?') as first_name from customer; 위의 코드는 first_name 컬럼에 'A' 문자를 '?'로 바꾼 결과이다. 3. pad( 컬럼명..
[JAVA] JDBC API : java.sql package java.sql package의 주요 인터페이스 (규칙) (1) java.sql.Driver 클래스 Driver 모든 드라이버의 정보를 가지고 있다. 모든 드라이버가 반드시 구현해야 하는 인터페이스이며, DBMS와의 연결을 관리하는 객체를 리턴한다. (2) java.sql.Connection 클래스 Connection 데이터 베이스에 대한 하나의 세션을 표현한다. 여기서 세션은 하나의 클라이언트가 서버에 요청을 하기 위해 연결을 맺은 상태를 의미한다. DriverManager 클래스의 getConnection() 메서드를 이용하여 얻어 올 수 있다. 개발자가 원하는 경우에 commit을 해주고 싶거나 트랜잭션이 아주 중요한 부분에 있어서 RollBack 처리를 하고자 할 경우에는 setAutoCommit..
[JAVA] intelliJ에서 JDBC와 MySQL 연동 1. Mysql Connection jdbc 설치 https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86 dev.mysql.com 위의 사이트로 들어가서 본인 pc 버전..
[JAVA] JDBC 란? 1. JDBC Java DataBase Connectivity 의 약어로 Java와 DB 연결을 위한 표준 API 이다. Java에서 DB에 접근하여 데이터를 조회, 삽입, 수정, 삭제를 가능하게 해주는 것을 말한다. Java와 연동되는 DBMS(ex. MySQL)에 따라 그에 맞는 JDBC(ex. MySQL Connector)를 설치할 필요가 있다. JDBC와 비슷한 ODBC는 무엇일까? ODBC 데이터베이스를 접근하기 위한 표준 개방형 응용 프로그램 인터페이스이다. 2. JDBC와 ODBC의 차이점
[BOJ] 2304. 창고 다각형 Python https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net 1. 해결방법 솔직히 개인적으로 접근 하는 데 있어서 너무 어려웠다... 엄청 많은 시간이 투자해도 해결하지 못해서 다른 분들의 힌트를 보고 해결했다,,,,,, 위 문제는 stack으로도 해결해도 되지만, 조건이 너무 까다로워서 stack으로 해결하지 못했다. 핵심포인트는 가장 높이가 큰 인덱스의 정보를 찾고, 왼쪽과 오른쪽 끝에서 부터 탐색하면서 넓이를 구하는 것이다 왼쪽부터 보..
[BOJ] 12891. DNA 비밀번호 Python, Java https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 1. 해결방법 이 문제는 초기 값을 매우 크게 주고 있으므로, 보자마자 for문으로 모두 탐색을 시도한다는 것은 시간초과로 이어질 수 있다. 핵심은 O(N) 안으로 시간복잡도를 해결하는 것이며, O(N) 안으로 해결하기 위해서는 투 포인터를 이용하여 윈도우 슬라이딩 기법으로 해결하면 된다. ### 윈도우 슬라이딩 ( 슬라이딩 윈도우 알고리즘 간단 예제 ) 1, 2, 3, 4..
[BOJ] 11660. 구간 합 구하기5 Python, Java https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 1. 해결방법 진짜 DP 너무 어렵다,,,, 이 문제를 보면 어떻게 하면 정상적인 출력이 나오게끔 코드를 구현하는 것은 정말 쉬울 것이다. 하지만 !!! 그렇게 그 쉬운, 각 배열을 탐색해서 더하는 방법이라면 시간복잡도에 걸려서 시간초과라는 안타까운 결과를 보게된다. 문제 설명을 위한 예시를 보자, 숫자들로 채워진 N x N의 표가 있고, 두 개의 좌표 ..