본문 바로가기

프로그래밍

(210)
[Spring Boot 프로젝트] 스도쿠 게임 프로그래밍 - 2일차 베이스 코드import java.util.*;import java.lang.*;import java.io.*;// The main method must be in a class named "Main".class Main {    public static void main(String[] args) {                // 스도쿠 게임 프로그래밍        int[][] sudoku = {{1, 4, 2}, {5, 6, 8}, {3, 0, 7}};         final int SIZE = 3; // 스도쿠 배열의 행과 열 크기        int[] iCnt = new int[10]; // 숫자 0~9의 등장 횟수 저장할 배열        int findRow; // 0의 행 위치     ..
[정렬 알고리즘] 버블정렬 (Bubble Sort) 버블정렬 (Bubble Sort): 인접한 두 원소를 비교하여 순서가 잘못된 경우 교환하는 방식   동작 방식배열의 첫 번째 원소부터 인접한 다음 원소 비교원소의 순서가 잘못되었으면 교환1, 2 과정을 배열 끝까지 반복 → 마지막 원소는 가장 큰 값이므로 정렬 확정된 수가 됨반복할(Loop) 때마다 마지막 원소는 정렬되므로 다음 반복은 마지막 원소를 제외한 범위만 비교위 과정을 반복 시간 복잡도 최악의 경우 : 모든 값을 비교하고 교환해야 하기 때문에 시간이 입력 데이터 크기의 제곱만큼 늘어남 →  O(n^2)최선의 경우 : 배열이 이미 정렬되어 있는 경우 한 번 순회만으로 정렬이 끝 → O(n)   예제 C언어#define _CRT_SECURE_NO_WARNINGS#define SIZE 5#includ..
[Spring Boot 프로젝트] 스도쿠 게임 프로그래밍 - 1일차 스도쿠 게임 프로그래밍 만들기개발 언어 : JAVA기간 : 스도쿠 게임 룰에 대해 확실히 알고 가야 함 → 게임 실제로 깔아서 몇 판 해보기1차 구성도 프론트배경사진 : 깔끔하고 시크하게제목 : 스도쿠 게임버튼1: 게임설명버튼2 : 연습하기버튼3 : 시작하기백연습하기 버튼 누르면 다음 화면으로 넘어간다. arr[3][3]로 총 9칸의 스도쿠가 있고 9칸 중 한 곳은 빈 칸이어야 한다.빈 칸의 숫자를 입력하는 방식과 숫자를 클릭하면 그 숫자가 입력되는 형식으로 두개의 방식으로 입력을 받도록 처리한다입력한 숫자가 틀리면 틀렸다고 하고, 맞으면 맞다고 하며 다음 화면으로 넘어간다. (다음 화면 : 0단계에서 빈 칸을 2개를 뚫을까? 음.. 아직 구상중)   스도쿠 게임을 깔아서 직접 해보고 규칙과 원리를 이해..
[C언어] 포인터 포인터 (pointer): 메모리의 주소값을 저장하는 변수, 포인터 변수 포인터 변수는 주소값을 저장하고 주소값은 모두 정수로 저장 예제1int main(void) { int i = 10; int *p; p = &i; printf("%u - %d\n", &i, i); printf("%u - %u - %d\n", &p, p, *p); return 0;}  예제2 포인터를 통한 값 변경int main(void) { int i = 10; int *p; p = &i; printf("i = %d\n", i); *p = 20; // 포인터를 통해 값을 변경 printf("i = %d\n", i); return 0;}  예제3포인터 사용지 주의할 점포인터 타입과 변수 타입이 일치해야 함 포인터 타입은 저장하는 내용이..
[코딩테스트] 프로그래머스 - 문자열 겹쳐쓰기 문자열 겹쳐쓰기문제 설명문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.제한사항my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,0000 ≤ s ≤ my_string의 길이 - overwrite_string의 길이입출력 예my_string overwrite_string sresult"He11oWor1d""lloWorl"2"HelloWorld""Program29b8..
[정렬 알고리즘] 선택정렬 (Selection Sort) 선택정렬 (Selection Sort): 가장 작은 값(또는 가장 큰 값)을 선택하여 배열의 앞쪽에 차례대로 정렬하는 방식  동작방식 배열의 첫번째 위치부터 전체 배열까지 가장 작은 값 찾기첫번째 위치 값과 가장 작은 값을 바꿈 (스와핑) 두번째 위치로 이동하고 같은 과정 반복배열의 끝까지 반복   시간복잡도배열이 정렬된 상태든, 정렬되지 않은 상태든, 항상 같은 시간 복잡도 → O(n^2)  스와핑 (Swapping): 두 변수의 값을 교환하는 작업// 배열로 바꿔야 함int a = 1;int b = 3;int tmp;tmp = a;a = b;b = tmp;a의 값은  3, b의 값은 1로 교환 로또 번호 예제 - 중복 제거 후 정렬  C언어#define _CRT_SECURE_NO_WARNINGS#de..
[SQLD] 오라클 계층형 쿼리 오라클 계층형 쿼리 : 계층형 쿼리는 오라클에서만 지원 부모-자식 관계를 가지는 데이터를 검색하거나 조작할 때 사용 ex) 트리 구조 데이터, 상하 관계 데이터 Employee 계층구조 테이블 EMPLOYEE_ID : 직원 고유 식별자 POSITION : 직급 정보 EMPLOYEE_NAME : 직원 이름 MANAGER_ID : 해당 직원의 상사의 EMPLOYEE_ID EMPLOYEE_ID POSITION EMPLOYEE_NAME MANAGER_ID 1 CEO AAA NULL 2 Manager BBB 1 3 Manager CCC 1 4 Employee DDD 2 5 Employee EEE 3 6 Employee FFF 2 7 Employee GGG 2 조직 계층 구조 - CEO AAA (EMPLOYEE_I..
[JWT] JWT (JSON Web Token) JWT (JSON Web Token) 란JSON Web Token의 약자로, 데이터를 안전하게 전송하기 위한 토큰 형식 웹에서 정보를 주고받을 때 사용되고, 사용자 인증과 관련된 정보를 안전하게 전송하는데 사용 JWT 구조 1. Header alg : 토큰을 서명하는 알고리즘 typ : 토큰의 유형 { "alg" : "HS256", "typ" : "JWT" } 2. Payload : 클레임(Claim) 정보 sub : 토큰의 주제 및 사용자의 고유 식별자 name : 사용자의 이름 iss : 토큰을 발급한 엔터티(서버)의 식별자 aud : 토큰의 대상(수신자) exp : 토큰의 만료시간 (UNIX 타임스탬프 사용) nbf : 토큰이 사용이 허용되는 시간 (UNIX 타임스탬프 사용) iat : 토큰이 발급..