[C++ / 1260] DFS와 BFS
·
Algorism(PS)/백준
문제 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 문제 설명 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 정점의 개수가 N, 간선의 개수가 M, 시작하는 정점의 번호가 V이다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점..
C를 이용한 K-means Clustering 구현
·
Programming/C
이것은 1학년 2학기때 시스템프로그래밍 기초라는 과목을 들으면서 구현한 것인데 개념과 함께 누군가에겐 도움이 되지 않을까 싶어 글을 쓴다. 나도 이 과제 덕분에 프로그래밍을 하는 데 있어 막힘도 많았지만 구현하였을 때의 쾌감을 다시 한번 느끼지 않았나 싶어 글을 남겨본다.K-means Clustering 이란?K-means Clustering은 비지도 학습(Unsupervised Learning)의 대표적인 알고리즘으로, 주어진 데이터를 K개의 Cluster(클러스터, 군집)으로 묶는 알고리즘이다. K-means 알고리즘에서 K는 묶을 클러스터의 개수를 의미하고 means는 평균을 의미한다. 즉, 각 클러스터의 평균(mean)을 활용하여 K개의 군집으로 묶는다는 의미이다.분류(Classification)..
[C] LV.2 주식가격
·
Algorism(PS)/프로그래머스
코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 내 코드 #include #include #include // prices_len은 배열 prices의 길이입니다. int* solution(int prices[], size_t prices_len) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int* answer = (int*)malloc(sizeof(int)*prices_len); int index = ..
[C] LV.2 삼각 달팽이
·
Algorism(PS)/프로그래머스
코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 내 코드 #include #include #include int* solution(int n) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int* answer = (int*)calloc(n * (n+1) / 2, sizeof(int)); int index = 0; // 인덱스 값 int count = 0; // 핸들링할 값, 배열간 간격조절 int handle = 0; // 진행방향 int value =..
C언어에서 선언된 배열 값외의 배열 주소에 접근이 가능할까?
·
Programming/C
군대에서 C언어를 복습하다가 포인터와 배열의 관계에 대해 궁금한점이 생겨서 한 번 알아보았다.궁금한 점은 사진에 나와있는 코드를 실행해보고 생겼는데, '어째서 존재하지 않을 int arr[2][0]의 주소(메모리)에 접근이 가능한가?' 였다. 그리고 '접근이 가능하더라도 왜 그 값은 쓰레기 값이 아닌, int arr[1][1]의 주소에 4바이트를 더한 정상적인 주소값이 나오는지' 가 궁금했다. 이 결과를 보고 왜 그런지 알아보기 위해, 일단 sizeof 연산자를 이용해보았다. 하지만, 배열의 크기는 16바이트로 정상적인 값이 나왔다. 그리고 int arr[3][0]이나 다른 주소값에도 접근을 해보았지만 에러만 발생했다. 아는대로 왜 그런지 알아보려고 했지만 알 수 없어서 질문을 한 결과. 《 int ar..