본문 바로가기

분류 전체보기

(208)
[ 백준 / C++ ] 1205 : 등수 구하기 [ 문제 ] 1205번: 등수 구하기 [ 접근방법 ] 먼저 새로운 점수가 랭킹 리스트에 올라갈 수 있는지 판별한다 ( cnt1 ). 그 후, 랭킹 리스트에 몇 등으로 올라가는지 구한다 ( cnt2 ). [ 소스코드 ] #include #include #include using namespace std;int n, s, p;vector score;int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> s >> p; score.resize(n); for (int i = 0; i > score[i]; } score.push_back(s); sort(score.begin(), score.end(), greater()..
[ 백준 / C++ ] 1038 : 감소하는 수 [ 문제 ] 1038번: 감소하는 수 [ 접근방법 ] 먼저 조합 값을 미리 계산하여 combination 배열에 저장하였다.combination[ n ][ k ] = n C k . findDecreasingNumber 함수는 감소하는 수를 찾는 재귀 함수이다.제일 앞 자리에 가능한 수를 찾고, 남은 자리수에 대해서는 재귀 호출을 통해 해결한다.digits는 전체 자리 수, nth는 몇 번째 감소하는 수인지, maxDigit는 제일 앞자리에 가능한 제일 큰 수이다. 메인 로직으로는 n을 입력받으면 답이 몇 자리 수인지 확인한다.그리고 해당 자리수에 대해 findDecreasingNumber 함수를 호출하여 정답을 구한다. [ 소스코드 ] #include #include using namespace std;..
[ 컴퓨터 구조 ] 명령어 [ 출처 ]혼자 공부하는 컴퓨터 구조 + 운영체제 03강https://www.youtube.com/watch?v=kFWP6sFKyp0[ 고급 언어 → 저급 언어 ]고급 언어= 개발자가 이해하기 쉽게 만든 언어 ( 컴파일 언어, 인터프리터 언어 ) 컴파일 언어= 컴파일 언어로 작성된 소스 코드는 컴파일러로 인해 저급 언어로 변환 ( 컴파일 )= 컴파일 결과로 저급 언어인 목적 코드 생성= 소스 코드 컴파일 중 오류가 발생하면 소스 코드 전체가 실행되지 않음 인터프리터 언어= 인터프리터에 의해 한 줄씩 실행 ( 인터프리트 )= 소스 코드 전체가 저급 언어로 변환되기까지 기다릴 필요 없음= 소스 코드 인터프리트 중 오류가 발생하면 오류 발생 전까지의 코드는 실행 저급 언어= 컴퓨터가 이해하고 실행하는 언어 (..
[ 백준 / C++ ] 1197 : 최소 스패닝 트리 [ 문제 ] 1197번: 최소 스패닝 트리 [ 접근방법 ] 프림 알고리즘을 활용하여 MST의 총 가중치를 계산하였다. 프림 알고리즘은 MST의 시작점을 하나 정하고, MST와 연결된 최소 가중치 간선을 기준으로 확장하는 방식이다. 최소 가중치 간선을 선택하는 과정에서 우선순위 큐를 활용하여 시간복잡도를 줄였다. [ 소스코드 ] #include #include #include using namespace std;int v, e;vector> adj[10005];int prim(){ vector added(v + 1, false); priority_queue, vector>, greater> pq; int ret = 0; pq.push({0, 1}); while (!pq.empty..
[ 25.01.20 ] TIL - CSV 파싱 [ Unity ] 유니티에서 CSV 파일을 파싱하기 위한 방법 중 하나이다. 아래 스크립트를 프로젝트에 넣은 후, 파싱하고 싶은 CSV 파일을 Resources 폴더에 넣으면 된다.using System.Collections.Generic;using System.Text.RegularExpressions;using UnityEngine;public class CSVReader{ static string SPLIT_RE = @",(?=(?:[^""]*""[^""]*"")*(?![^""]*""))"; static string LINE_SPLIT_RE = @"\r\n|\n\r|\n|\r"; static char[] TRIM_CHARS = { '\"' }; public static List..
[ 25.01.15 ] TIL - Has Exit Time [ ps ] [ 백준 / C++ ] 2965 : 캥거루 세마리 [ Unity ] 애니메이션  전환을 할 때 여러 프로퍼티를 설정할 수 있는데, 그 중에 Has Exit Time 이라는 것이 존재한다. 보통은 스크립트에서 animation parameter를 바꾸고 Conditions 프로퍼티를 만족하면 전환을 진행한다. Has Exit Time은 해당 애니메이션의 특정 순간이 지나면 전환이 진행되도록 만들어준다. 예를 들어 0.75를 입력하면 애니메이션의 75%가 재생된 첫 프레임에서 전환이 진행된다.0( 0%가 아닌듯? ) 또는 1( 100% )을 입력하면 애니메이션이 끝나고 바로 전환이 진행된다. 이를 활용하면 특정 애니메이션이 진행되는 도중에는 애니메이션 전환이 불가능하도록 설정할 수 있다. 예를 ..
[ 백준 / C++ ] 2965 : 캥거루 세마리 [ 문제 ] 2965번: 캥거루 세마리 [ 접근방법 ] 예제 2의 경우를 생각해 보자. 3이 5 ~ 9 사이로 뛰거나, 9가 3 ~ 5 사이로 뛰는 두 가지 경우가 존재한다. 두 캥거루 사이의 거리가 더 긴 전자를 선택한 후5 6 9 → 6 7 9 → 7 8 9이렇게 한칸씩 거리를 줄여나가는 것이 최대로 움직일 수 있다. 따라서 처음에 캥거루 사이의 거리를 비교하면 정답을 바로 구할 수 있다. [ 소스코드 ] #include #include using namespace std;int a, b, c;int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> a >> b >> c; cout
[ 컴퓨터 구조 ] 전체적인 컴퓨터 구조 [ 출처 ]혼자 공부하는 컴퓨터 구조 + 운영체제 01강https://www.youtube.com/watch?v=kFWP6sFKyp0[ 컴퓨터가 이해하는 정보 ]데이터= 숫자, 문자, 이미지, 동영상과 같은 정적인 정보= 0과 1로 표현 명령어= 컴퓨터를 실질적으로 움직이는 정보= 데이터는 명령어를 위한 일종의 재료[ 컴퓨터의 네 가지 핵심 부품 ]1. CPU= 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행= ALU + 레지스터 + 제어장치 ALU = 계산기레지스터 = 임시 저장 장치제어장치 = 제어 신호를 보내고, 명령어를 해석하는 장치 2. 메모리= 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 함= 현재 실행되는 프로그램의 명령어와 데이터를 저장= 전원이 꺼지면 저장된 값이 날라감 ( ..