본문 바로가기

728x90

Lang

(28)
[알고리즘/C] 미로찾기 경로탐색 (2차원 행렬 DFS: Depth First Search) ★ 이 미로찾기 경로탐색은 격자판에서 길찾기 알고리즘을 알아보는 2차원 행렬 DFS입니다. 방향 그래프상의 길찾기 알고리즘인 그래프 DFS는 아래 링크에서 확인바랍니다. ★ 또한 인접행렬과 경로탐색의 기초에 대해서도 아래 링크를 참고해주시기 바랍니다. 2022.12.05 - [Lang/알고리즘] - [알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) [알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) # 인접 행렬 (隣接行列, adjacency matrix) 인접 행렬은 노드들이 간선으로 어떻게 연결되어 있는지 나타내는 정사각 행렬입니다. 위 그림을 말로 설명하면 노드 1은 노드 2로 연결되었고, 노드 1은 노 siku314...
[알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) # 인접 행렬 (隣接行列, adjacency matrix) 인접 행렬은 노드들이 간선으로 어떻게 연결되어 있는지 나타내는 정사각 행렬입니다. 위 그림을 말로 설명하면 노드 1은 노드 2로 연결되었고, 노드 1은 노드 3으로 연결되었고, 노드 1은 노드 4로 연결되었고, 노드 2는 노드 4로 연결되었고, 노드 3은 노드 4로 연결되었고, 노드 4는 노드 5로 연결되어있습니다. 이 것을 행렬로 표현하면 행의 1,2,3,4,5는 출발 노드로 열의 1,2,3,4,5는 도착 노드로 하여 다음과 같습니다. 0은 연결되지 않았음 1은 연결되었음을 표현합니다. 1행 2열은 노드 1에서 노드 2로 연결되었음을, 1행 3열은 1에서 3으로 연결되었음을, 1행 4열은 1에서 4로 연결되었음을, 2행 4열은 2에서 4로 연결..
[Java] 연산자에 대한 이해 # 연산자 우선순위에 대해서는 아래 링크에서 확인바랍니다. 2022.11.28 - [Lang/Java] - [Java] 연산자 우선순위의 이해 [Java] 연산자 우선순위의 이해 # 연산자 (operator) 의 종류 구분 종류 우선순위 결합규칙 단항 연산자 ++ -- + - ~ ! (type) 높음 산술 연산자 * / % + - 비교 연산자 = instanceof == != 논리 연산자 & ^ | && || 삼항 연산자 ?: 대입 연산자 = += -= siku314.tistory.com # 증감 연산자 ++ : 증가연산자. 피연산자를 1 증가시킨다. -- : 감소연산자. 피연산자를 1 감소시킨다. int x = 0; int y = ++x;// 피연산자 x에 1이 증가하여 y에도 1이 대입됩니다. ++x..
[C++] STL 연관 컨테이너 Map # 맵 Map map을 사용하기 위해서는 헤더파일을 추가해야합니다. #include 맵은 특정 순서에 따라 키 값과 매핑된 값의 조합으로 형성된 요소를 저장하는 연관 컨테이너입니다. 키 값, 매핑된 값 모두 다양한 데이터 타입을 가질 수 있습니다. 예를 들어, 주민등록번호를 키 값으로 이름을 매핑된 값으로 할 수도 있고, 이름을 키 값으로 주민등록번호를 매핑된 값으로 할 수도 있습니다. 하지만 주민등록번호를 키 값으로 할 경우 키 값이 고유한 값을 가지지만, 이름을 키 값으로 할 경우 동명이인이 있을 수 있어 고유한 값을 가지지 못하므로 이런 경우에는 map보다는 multimap을 사용하는 것이 좋겠습니다. # map 클래스 템플릿의 정의 template < class Key,// map::key_typ..
[C] C와 C++ Integer의 MIN, MAX # 헤더 C의 에 정의되어 있습니다. C++의 에 가 포함되어 있습니다. 으로도 사용할 수 있습니다. # 정수 상수 리스트 상수 설명 값 CHAR_BIT 비트 필드가 없는 가장 작은 변수의 비트 수 8 SCHAR_MIN signed char의 최솟값 -128 SCHAR_MAX signed char의 최댓값 127 UCHAR_MAX unsigned char의 최댓값 255 (0xff) CHAR_MIN char의 최소값 -128 CHAR_MAX char의 최댓값 127 MB_LEN_MAX 여러 문자 상수에서의 최대 바이트 수 5 SHRT_MIN short의 최솟값 -32768 SHRT_MAX short의 최댓값 32767 USHRT_MAX unsigned short의 최댓값 65535 (0xffff) INT..
[알고리즘/C++] 합병 정렬 Merge Sort # 문제 설명 n 개의 자연수 배열을 병합 정렬을 이용해 오름차순으로 정렬한다. # 입출력 예 입력 출력 8 7 6 3 1 5 2 4 8 1 2 3 4 5 6 7 8 # 문제 풀이 #include using namespace std; int arr[101], tmp[101]; void d(int left, int right){ int mid; int p1, p2, p3; if(left
[Java] 연산자 우선순위의 이해 # 연산자 (operator) 의 종류 구분 종류 우선순위 결합규칙 단항 연산자 ++ -- + - ~ ! (type) 높음 산술 연산자 * / % + - 비교 연산자 = instanceof == != 논리 연산자 & ^ | && || 삼항 연산자 ?: 대입 연산자 = += -= *= /= = &= ^= |= 낮음 # 연산자 우선 순위의 예 사용 예 설 명 -x + 1 x에 붙은 -가 +보다 먼저 연산된다. 단항 연산자 우선. x + 2 * 3 +보다 *가 먼저 연산된다. 산술 연산자 중 * / % 우선. x + 4 > y - 5 >보다 +, -가 먼저 연산된다. 산술 연산자 우선. x > 6 && y ,
[C++] 구조체를 확장하면? 클래스! # C의 구조체는 서로 다른 타입의 집합입니다. #include #include struct Student{// 구조체 int age; char name[25]; }; void printStudent(Student s){ printf("나는 %d살, %s입니다.\n", s.age, s.name); } int main() { Student s; s.age = 20; strcpy(s.name, "홍길동"); printStudent(s); return 0; } 출력 결과: 나는 20살, 홍길동입니다. # 여기에서 구조체 Student와 함수 printStudent 는 서로 상호의존적입니다. Student는 printStudent가 없으면 화면에 출력할 수가 없고, printStudent도 Student가 없으..
[C] C 문법 공부 #3 문자열 함수 # 문자열 함수 헤더 #include 함수 설명 strcpy ( 대상문자열, 소스문자열 ) 소스 문자열을 대상 문자열에 복사합니다. strncpy (대상, 소스, 길이 ) 소스 문자열의 일부분을 대상 문자열에 복사합니다. strcat (대상, 소스 ) 소스 문자열을 대상 문자열의 뒤에 붙입니다. strncat (대상, 소스, 길이 ) 소스 문자열의 길이만큼 대상 문자열 뒤에 붙입니다. strcmp ( 문자열1, 문자열2 ) 두 문자열의 크기를 비교합니다. strncmp (문자열1, 문자열2, 길이 ) 두 문자열의 길이까지의 크기를 비교합니다. stricmp ( 문자열1, 문자열2 ) 대소문자 구분하지 않고 두 문자열의 크기를 비교합니다. strnicmp (문자열1, 문자열2, 길이 ) 대소문자 구분하지 ..
[Java] Java 입력 클래스 Scanner # Scanner Scanner를 사용하기 위해서 1. java.util.scanner 패키지를 import 합니다. > import java.util.Scanner; 혹은 > import java.util.*; 2. scanner 객체 생성 > Scanner sc = new Scanner(System.in); 멤버 함수 설명 nextByte() byte형 정수 입력 nextShort() short형 정수 입력 nextInt() int형 정수 입력 nextLong() long형 정수 입력 nextFloat() float형 실수 입력 nextDouble() double형 실수 입력 nextBoolean() boolean형 데이터 입력 next() 공백단위로 끊어서 String형 문자열 입력 nextLine..

728x90