본문 바로가기

전체 글249

[백준] 10813번 JAVA - 공 바꾸기 (1차원 배열) 1 부터 n 까지 바구니가 있고 각 바구니에는 1 부터 n 번의 공이 들어있다. 이 공을 m번 교환하는데 i 바구니와 j 바구니를 바꾸기로 한다. 프로그래밍에서 두 변수의 값을 바꿀때는 임시변수(tmp)를 생성해서 거기에 값을 넣고 교환하는 방식으로 한다. tmp = i; i =j; j = tmp; 이렇게 해서 출력만 하면 간단하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextI.. 2023. 6. 20.
[백준] 10810번 JAVA - 공 넣기 (1차원 배열) 문제가 길어서 읽기가 싫었다.. 먼저 n m 입력을 하면 1부터 n까지 바구니가 있고 i j k 정수를 m번 반복하여 입력한다. i번쨰 바구니부터 j번째 바구니까지 k숫자의 공을 넣는다. 중복되게 넣은 바구니는 나중에 넣은 공으로 바꾸고 1부터 n 까지 바구니의 들어있는 공을 출력한다. 없으면 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.Scanner; public class Main { public static void main(String[] args) { // write your code here Scanner sc = new Scanner(System.in); int n = sc... 2023. 6. 7.
[백준] 10807번 JAVA - 개수 세기 (반복문) 처음 입력한 n값은 입력할 정수의 개수 이후 n만큼 -100 이상 100 이하를 입력한다. 마지막으로 입력한 v와 같은 수만큼 카운트해서 출력한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int arr[] = new int[n]; for(int i=0; i 2023. 5. 22.
[백준] 25314번 자바 코딩은 체육과목 입니다 - 반복문 4의 배수를 입력하고 그 배수만큼 long을 출력해 주면 된다. 예를 들어 100을 입력하면 4 * 20 = 100 이므로 long을 20개 출력해 주면 끝이다. import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int div = n / 4; for(int i=0; i 2023. 5. 22.
[백준] 11382번 자바 꼬마 정민 - 입출력과 사칙연산 import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); long a = sc.nextLong(); long b = sc.nextLong(); long c = sc.nextLong(); System.out.println(a+b+c); } } 입력값의 크기 때문에 자료형은 long으로 해야 한다. int는 4byte 이고 값의 범위는 –2,147,483,648 ~ 2,147,483,647 (-2^31 ~ 2^31) long은 8byte 이고 값의 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,8(-2^63 ~ .. 2023. 5. 19.
[spring boot-2] MariaDB 스프링부트 마리아디비 연동하기 먼저 스프링부트 프로젝트와 마리아디비 데이터베이스를 생성해야 한다. 스프링부트 프로젝트 생성 MariaDB 데이터베이스 생성 spring boot 프로젝트에 application.properties 를 편집한다. spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://localhost:3306/karanu spring.datasource.username=user1 spring.datasource.password=1234 또는 확장자를 yml로 변경해서 작성해도 된다. 개인적으로 그게 더 편리한 것 같다. spring: datasource: driver-class-name: org.mari.. 2023. 5. 3.
[MariaDB] 마리아 디비 테이블 생성, 수정, 삭제 create, alter, drop 마리아 디비에서 테이블 생성, 수정, 삭제 하는 sql 을 작성해본다. DDL(Data Definition Languate) 데이터 정의어라고 불리며 create, alter, drop 으로 작성할 수 있다. 테이블, 뷰, 프로시저 등 쿼리를 할 수 있으나 여기서는 테이블 관련해서만 작성한다. DB툴은 DBeaver를 사용했다. 1. Create create table user_info ( user_id int not null auto_increment comment '아이디', user_login_id varchar(100) not null comment '로그인 아이디', password varchar(100) not null comment '패스워드', user_name varchar(100) co.. 2023. 5. 3.
MariaDB 마리아디비 데이터베이스, 계정 생성 권한 주기 먼저 시작프로그램에서 MySQL Client를 실행한다. 디비 설치할때 설저안 root 비밀번호 입력 DB(데이터베이스) 생성 > create database db명; 데이터베이스 확인 > show databases; 데이터베이스 사용 > use db명; 데이터베이스 삭제 > drop database db명; 계정 생성 > create user '아이디'@'%' identified by '비밀번호'; 계정 권한 부여 > grant all privileges on db명.*to '아이디'@'%'; 새로고침 계정 삭제 > drop user 아이디@localhost; DBMS 로 확인 계정을 다시 생성해서 툴에서 연결을 테스트 해본다. dbeaver 로 실행시켜서 연결해봤다. 잘된다. 2023. 4. 24.
window 환경에서 cmd로 프로세스 강제 죽이기 (PID로 Process kill) 톰캣에서 개발할 때 가끔 톰캣이 비정상적으로 종료되어서 서버를 실행할 때 포트가 살아있다고 에러가 뜨면서 실행이 안되는 경우가 가끔식 있다. 이럴때는 포트를 강제로 종료시켜줘야 되는데 그럴때 cmd에서 종료할 수 있다. 먼저 ctrl + R -> cmd 입력한다. 여기서 명령어를 입력하면 된다. > netstat -ano 내가 종료하고 싶은 포트는 8080이므로 해당하는 PID를 가져온다. > taskkill /f /pid 2888 8080 포트를 강제로 종료시켰다. 이후에 다시 정상적으로 저 포트를 사용할 수 있다. 2023. 4. 23.
윈도우에서 MariaDB(마리아디비) 10.11.2 설치하기 1. 아래 mariadb 홈페이지 접속 https://mariadb.org/ MariaDB Foundation - MariaDB.org … Continue reading "MariaDB Foundation" mariadb.org 2. Download 버튼 클릭 3. 원하는 버전, OS 등 선택 하고 Download 클릭 4. 다운받은 실행파일 실행 후 Next 5. 기본적인 설정 그대로 할거라 계속 Next 버튼을 누른다. 설치 경로를 변경하고 싶으면 이 화면에서 Browse... 버튼을 누르고 변경한다. 6. root 계정 비밀번호를 입력하고 Use UTF8 as default server's character set 을 체크 하고 Next 버튼 클릭 경로 설정은 기본적으로 건들이고 싶지 않다. 7. .. 2023. 4. 23.
Javascript, Jquery로 페이지 reload 새로고침 방법. Jquery로 페이지 새로고침 location.reload(); Javascript로 페이지 새로고침 window.location.reload(); history.go(); history.go() 는 파라미터의 숫자를 넣어서 페이지 앞으로 가기 뒤로가기가 가능하다. 아무것도 넣지 않으면 0으로 보고 새로고침이 되고 history.go(1)은 하나 앞으로가기 history.go(-1)은 하나 뒤로가기가 된다. window.location.href=window.location.href; window.location.href는 현재 페이지 url을 가져오는데 = 으로 값을 넣어주면 그 url로 이동하게 된다. 그대로 window.location.href를 넣어줬기 때문에 새로고침 효과를 주게 된다. 2023. 4. 19.
[전자정부] eGovFrame 게시판 (2) : 오라클 DB 연동 가벼운 마음으로 개발환경 잡아보고 대충 게시판 공부해보려 했으나.. 놀랍게도 1년만에 글을 쓴다. 사실 시작도 제대로 안하고 놔버렸었다. 어쨋든 다시 해보자.. 프로젝트 생성, 세팅 글은 https://hellodoor.tistory.com/210 여기서 확인할 수 있다. 무려 일년전글.. ㅎ Oracle DB를 연동하려고 하는데 그러면 당연히 db가 필요하다. 오라클 db 설치는 https://hellodoor.tistory.com/227 여기 이제 본격적으로 연동을 시작해보려 한다. 우선 resources -> egovframework -> spring -> context-datasource.xml 을 열어보자. 원하는 소스파일을 이름만 알고있으면 쉽게 열 수 있는데 ctrl + shipt + r 버.. 2022. 11. 12.
[백준] 5597번 자바 과제 안 내신 분...? - 1차원 배열 입력이 오지게 많네.. 귀찮지만 내가 입력할 건 아니라서 간단한 문제이다. 그냥 바로 머리속에 생각나는 건 1~30 bool 타입 배열을 선언한 후 28개를 입력하면서 해당 배열 위치를 true로 바꿔주고 나머지를 출력해주면 되겠다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); boolean stuChk[] = new boolean[31]; for(int i=0; i 2022. 11. 8.
[Oracle] DB 오라클 DML select, insert, update, delete 쿼리 조회, 삽입, 수정, 삭제 sql문 지난 글에서 DDL(Data Definition Language) create, alter, drop 쿼리에 대해 작성했다. 참고 링크 : https://hellodoor.tistory.com/230?category=931129 [Oracle] DB 테이블 생성, 수정, 삭제 sql create, alter, drop DDL & 오라클 코맨트 DDL [Data Definition Language] 데이터 정의 언어로써 쉽게 테이블 생성 수정 삭제와 같은 sql문이다. 1. CREATE create table user_info ( id varchar2(20) not null, password varchar2(30) not null, name var.. hellodoor.tistory.com 이번 글에서는 .. 2022. 10. 5.
[백준] 25305번 자바 커트라인 - 정렬 import java.util.Arrays; import java.util.Collections; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); Integer ar[] = new Integer[n]; for(int i=0; i 2022. 10. 5.
[백준] 2751번 자바 수 정렬하기 2 - 정렬 정렬 자체는 어렵지 않은데 시간 복잡도가 O(nlogn)여야 해서 그냥 일반 버블정렬이나 Array.sort 함수로는 시간초과로 실패가 된다. 병합 정렬, 힙 정렬 로 풀 수 있다고 한다. 하지만 그대로 구현하게 되면 많이 복잡하므로 자바에 내장된 Collections.sort 함수를 사용하자. 병합정렬이라고 한다. Arrays.sort함수는 시간초과로 실패가 떴다. 그리고 Scaaner 대신 BufferedReader 사용, System.out.print 대신 BufferedWriter을 사용했다. import java.io.*; import java.util.*; //정렬 N개의 수가 주어졌을 때 오름차순으로 정렬 public class Main{ public static void main(Strin.. 2022. 10. 3.
[Oracle] DB 테이블 생성, 수정, 삭제 sql create, alter, drop DDL & 오라클 코맨트 DDL [Data Definition Language] 데이터 정의 언어로써 쉽게 테이블 생성 수정 삭제와 같은 sql문이다. 1. CREATE create table user_info ( id varchar2(20) not null, password varchar2(30) not null, name varchar2(20), del_flag char(1) default 'N', create_date DATE default sysdate, constraint user_pk primary key (id) ); create table 테이블명 ( 컬럼명 데이터타입 ); 이런식으로 생성하면 된다. 컬럼명은 알아보기 쉽게 정하고 데이터 타입과 크기도 원하는 대로 설정하면 된다. 데이터 타입은 char, varch.. 2022. 10. 3.
[Oracle] ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 해결 오라클 디비 계정 생성하는데 갑자기 에러가 떴다. create user 계정명 identified by 비밀번호; ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 평소 사용하던 쿼리로 했는데 안되는 것이다. 알아보니 oracle 12 이상 버전에서는 계정명 앞에 C## 을 붙여줘야 한다는 것이다. create user C##계정명 identified by 비밀번호; 정상적으로 생성되었다. 이게 일할때 항상 11g 버전만 쓰다 공부할때 19로 설치해서 몰랐던 사실이다. 11g 버전 때 처럼 계정 이름에 C## 을 붙이고 싶지 않으면 계정 생성 전에 alter session set "_ORACLE_SCRIPT"=true; 쿼리를 입력하면 C##을 붙이지 않고도 오류가 발생하지 않고 정상적으로 .. 2022. 9. 26.