일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 |
- swift
- IOS
- 오라클
- CD
- libasm
- 소켓
- Xcode
- 스프링
- springboot
- 42seoul
- 티스토리챌린지
- MySQL
- 프로그래밍언어론
- 아이패드다이어리
- DBMS
- 네트워크
- javascript
- JPA
- 인공지능
- sql
- Spring
- 스프링부트 웹 소켓
- 오블완
- jenkins
- AI
- CI
- 데이터베이스
- 다이어리
- 스프링부트
- 리눅스
- Today
- Total
목록전체 글 (177)
Hi yoahn 개발블로그
- 배열 기반의 리스트에서 중간에 데이터 삽입/삭제할 때 시간복잡도 O(N) - 내장된 정렬 함수 사용 - 퀵소트 구현 시 피벗을 랜덤으로 잡기 - 힙소트, 머지소트 O(nlogn) - DP -> Memoization : 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술. (동적 계획법의 핵심) - DFS로 최단거리 구하기 xxx -> 불가능하거나, 시간초과 - BFS는 큐에 넣을 때 방문 체크를 해야 중복 방문이 일어나지 않음 - 큐의 크기는 적어도 방문할 수 있는 정점의 총 개수보다는 크게 지정
- package wha; 는 모두 지우고 제출 - 클래스 이름은 Main 이어야 함 - Scanner 는 하나만 - 포장클래스 객체 간 비교는 equals 메서드로 비교 - Scanner 는 느린 입력 -> BufferedReader 를 사용
cin, cout 을 사용하려면 int main(){ ios::base::sync_with_stdio(); cin.tie(NULL); cout.tie(NULL); return 0; } 저 세줄을 추가해줘야 속도가 빨라진다. - 답을 k로 나눈 나머지를 출력한다. : 답을 구하는 과정에서 k로 모듈러 연산을 해야 오버플로우를 막을 수 있다. - 지역변수 & 지역 배열은 초기화가 안되어 있음 - 전역 배열 = {1}; -> 첫 원소만 1, 나머지는 0 - float : 부정확 - double 사용 - char 배열에 10자의 문자열을 담으려면 배열의 크기는 11 이상 -> 배열 끝에 '\0' 널 문자를 담아야 함 - atoi 에 널 문자로 끝나는 문자열을 넘겨줘야 함 char 주소를 넘겨주면 안됨 - sca..
백준 10951 이 문제의 목적은 파일의 끝(EOF)을 올바르게 판단하는 법을 연습하는 것입니다. 총 몇 줄이 주어진다 등의 정보는 절대 입력으로 주지 않습니다. 또한 단순히 키보드로 입력 내용만 적고 프로그램이 종료되지 않은 상태까지만 봐서는 EOF를 제대로 처리했는지 알 수 없습니다. 더 이상 읽을 게 없을 때 프로그램을 종료하는 법을 알아야 합니다. 그 방법은 언어마다 다르고 사용하는 함수마다 다르니, 구글에 "C언어 EOF" 와 같이 검색해서 그 방법을 알아보세요. 주로 파일 입출력으로 설명되어 있겠지만, 입력 스트림도 파일 입력이기 때문에 결국 동일합니다. 자바의 경우 Scanner와 BufferedReader에서 해야 하는 처리가 서로 다릅니다. 언어를 불문하고, 레퍼런스를 참고해서 사용법을 ..
C++ 파일 관련 클래스 ifstream : input file stream ofstream : output file stream fstream : file stream cin, cout도 표준 입출력을 담당하는 객체 istream, ostream -> iostream 1. 출력스트림 #include #include using namespace std; int main(){ ofstream output; output.open("scores.txt"); output
- 데이터베이스에 데이터가 저장되는 단위는 테이블 1. 모든 칼럼 조회하기 - SELECT * FROM emp; 2. 참고 * DESC 테이블명; 테이블 구성을 보여줌 속성명, 기본키, 데이터 타입 * 해당 사용자가 만든 모든 테이블 조회하기 SELECT * FROM tab; - 오라클에 예약되어있는 tab 테이블 -> 해당 사용자가 만든 모든 테이블에 대한 정보를 가지고 있는 테이블 * 데이터 조회시 출력형식 조절하는 명령어 - 데이터가 숫자일 경우 COL empno FOR 9999 : empno라는 숫자를 다루는 칼럼의 경우 숫자 4자리(9999)까지 들어가게 설정 - 데이터가 문자인 경우 COL ename FOR a8 : ename이란 칼럼의 길이를 8바이트까지 들어가게 설정 - 한 화면에 출력 가..
1. 경로명 한글에서 영어로 변경 $ export LANG=C $ xdg-user-dirs-gtk-update > 다시 묻지 않기 체크, Update Names 클릭 2. vim 설치 및 우분투 패키지 업데이트&업그레이드 $ sudo apt-get install vim $ sudo apt-get update -y [자주 자주해서 업데이트 하기] $ sudo apt-get upgrade -y ( $ sudo apt-get dist-upgrade (가끔 전체 설치 패키지에 대한 업그레이드 수행)) 3. gcc 등의 개발 환경을 만들 경우 $ sudo apt-get install g++-4.7 c++4.7 $ sudo apt-get install build-essential $ sudo apt install ..
외장하드에 우분투 설치하기 1. 부팅용 USB 준비 - 다른 파일이 있으면 안됨 - 우분투 공식 사이트에서 iso 파일을 내려받고 튜토리얼에 iso 파일을 usb에 설치해서 부팅디스크로 만들어 주는 프로그램을 다운받아 usb에 설치 2. UEFI 바이오스 -> BIOS 화면에서 advanced 탭 > UEFI Boot : disabled Security 탭 > Secure Boot Configuration > Secure Boot Option : Disabled boot에서 우분투 부팅USB를 최상단으로 올려준다 3. Ctrl+Alt+T 를 눌러서 터미널을 열고 ' sudo gparted ' 를 입력하면 파티션을 설정하도록 나온다. - 먼저 우측 상단에 sda, sdb를 drop down으로 고를수 있는..
1. 데이터 삽입 # 데이터 직접 삽입 INSERT INTO 테이블명[(속성_리스트)] VALUES (속성값_리스트); - 모든 데이터를 삽입하는 경우 테이블명만 명시, 테이블을 정의할때 지정한 속성 순서대로 값이 삽입됨 # 부속 질의문을 이용한 데이터 삽입 INSERT INTO 테이블_이름[(속성 리스트)] SELECT 문; ex) INSERT INTO 한빛제품(제품명, 재고량, 단가) SELECT 제품명, 재고량, 단가 FROM 제품 WHERE 제조업체 = '한빛제과'; 2. 데이터 수정 3. 데이터 삭제
1. 데이터 검색 # 기본 검색 SELECT [ ALL | DISTINCT ] 속성_리스트 FROM 테이블_리스트; - ALL 이 디폴트(명시하지 않아도 됨), 중복 허용 검색 - 검색 결과는 릴레이션, 메모리에 저장되는 것은 아님 (검색 결과를 메모리에 저장하려면 insert 명령어에서 values 대신 select 명령어 사용) - 모든 속성을 검색하려면 *사용 - 결과로 출력되는 테이블의 속성 명을 변경해서 출력할 수 있다. -> 속성1 AS 속성2 결과 테이블에 속성1을 속성2 이름으로 바꿔서 출력(테이블 내용이 바뀌는 것은 아님) # 산술식을 이용한 검색 SELECT 제품명, 단가+500 AS "조정 단가" FROM 제품; # 조건 검색 SELECT [ ALL | DISTINCT ] 속성_리스트..