본문 바로가기

대학생54

[C++] [백준 1755] 숫자놀이 문제 풀기 전 생각 : /* 입력 받은 범위의 숫자들을 알파벳으로 변환 후 저장한다. 그리고 소트 함수를 이용해 정렬한다. */ #include #include using namespace std; string num[10] = {"zero","one","two","three","four","five","six","seven","eight","nine"}; bool comp(pair p1,pair p2){ return p1.first > n1 >> n2; int n = n2 - n1 + 1; pair str[n]; for(int i = n1 ; i 2021. 7. 27.
[C++] [LeetCode 169] Majority Element 문제 풀기 전 생각 : /* 먼저 입력받은 백터를 정렬한다. 그 후 저장된 숫자를 하나하나 전 숫자와 비교하며 카운트를 한다. 마지막에 가장 많은 카운트를 기록한 숫자를 출력한다. */ class Solution { public: int majorityElement(vector& nums) { int max=0,max_i=0; int pre=0,pre_i=0; sort(nums.begin(),nums.end()); for(int i=0 ; i max){ max = pre; max_i = pre_i; } pre_i = nums[i]; pre = 1; } else { pre++; } } if(pre > max) max_i = pre_i; return max_i; } }; https://leetcode.com.. 2021. 7. 27.
[C++] [백준 11656] 접미사 배열 문제 풀기 전 생각 : /* 배열을 만든다. 입력된 문자열을 매 반복마다 앞에서 한글자씩 없앤다. substr 사용한다. 그리고 없앤후 해당 문자열을 배열에 넣는다. 그리고 마지막에 출력한다 */ #include #include using namespace std; int main(){ string s; cin >> s; string str[s.length()]; for(int i=0 ; i 2021. 7. 27.
[C++] [백준 10814] 나이순 정렬 문제 풀기 전 생각 : /* 이 문제 또한 정렬 함수를 커스터마이징? 하는 문제인듯 하다. 나이와 이름 두가지 정보가 입력되니 클래스를 만들어 사용하던지 pair 컨테이너?를 사용하면 된다. 나는 페어를 사용하기러 했다. 나이가 같다면 기존의 순서를 유지하면 되니 stable_sort() 함수를 사용하면 된다. */ #include #include #include #include using namespace std; bool compare( pair v1, pair v2 ) { return v1.first > n; vector v(n); for(int i=0 ; i> v[i].first >> v[i].second; } stable_sor.. 2021. 7. 27.
[C++] [LeetCode 1047] Remove All Adjacent Duplicates In String 문제 풀기 전 생각 : /* 스택 컨테이너를 활용한다. 스택이 비었다면 글자를 푸쉬한다. 또는 top 에 있는 글자와 같다면 pop 하고 해당 글자도 패스한다. 만약 같지 않다면 푸쉬한다. 모두 끝난후 스택에 있는 글자를 차례 차례 string 에 넣는다. 그리고 해당 문자열을 리버스 한다. */ /* class Solution { public: string removeDuplicates(string s) { stack sc; string tmp = ""; for(int i=0 ; i 2021. 7. 27.
[C++] [백준 1431] 시리얼 번호 문제 풀기 전 생각 : /* 알고리즘 라이브러리에 있는 소트 함수를 사용한다. 소트 조건은 따로 함수를 만들어 지정한다. */ #include #include #include #include using namespace std; bool comp(string s1,string s2){ int n1=0,n2=0; if(s1.length() == s2.length() ){ for(int i=0 ; i> n; string tmp[n]; for(int i=0 ; i> tmp[i]; } sort(tmp,tmp+n ,comp); for(int i=0 ; i 2021. 7. 26.
[C++] [백준 10867] 중복 빼고 정렬하기 문제 풀기 전 생각 : /* 중복을 허용하지 않고 정렬을 자동으로 해주는 컨테이너인 세트 컨테이너를 사용하면 쉽게 풀 수 있다 */ #include #include using namespace std; int main() { set s; int n,tmp; cin >> n; for(int i=0 ; i> tmp; s.insert(tmp); } for (typename std::set::iterator itr = s.begin(); itr != s.end(); ++itr) { cout N; bool histo[2001] = {false, }; for (int i = 0; i > n; histo[n + 1000] = true; } for (int i = 0; i 2021. 7. 26.
[C++] [11866] 요세푸스 문제 0 문제 풀기 전 생각 : /* 문제를 보니 큐를 사용하는 문제인듯 한데 그렇게 안 풀었다...그래서 헤맸는지도 모르겠다. 배열에 숫자들을 저장 후 와일 반복문으로 출력한 숫자의 갯수가 입력받은 n이 될때까지 반복한다. k번째 숫자부터 출력을 시작한다. 출력이 완료된 숫자는 0으로 만든다. 그리고 다음 반복으로 넘어간다. 다음 반복에서 현재 위치한 숫자가 0이라면 패스한다. 만약 3칸을 이동하지 않은 상태이고 숫자가 0도 아니라면 다음칸으로 넘어가고 카운트를 1증가시킨다. 카운트가 3이 될때마다 출력한다. 출력후 카운트를 0으로 만든다. */ #include using namespace std; int main() { int n,k,count=0; cin >> n; cin >> k; int arr[n]; i.. 2021. 7. 25.
[C++] [백준 2164] 카드2 문제 풀기 전 생각 : /* 문제를 읽어보면 알겠지만 제일 앞의 숫자를 삭제하고 뒤에 삽입하고 하는 작업을 쉽게 할 수 있는 컨테이너로 리스트가 있다. 그래서 리스트를 사용했다. */ #include #include using namespace std; int main() { list l; int n; cin >> n; for(int i=1 ; i 2021. 7. 25.
[C++] [백준 2941] 크로아티아 알파벳 문제 풀기 전 생각 : /* 먼저 크로아티아 알파벳인지 아닌지 판별하는 함수를 만든다. 문자열로 입력받은후 두 글자씩 위의 함수에 넣는다. 만약 크로아티아 알파벳 이라면 카운트를 1 증가하고 다음 글자를 패스한다. 예외로 dz= 는 세글자 이기 때문에 dz=일 경우 다음 두 글자를 패스한다. 만약 크로아티아 알파벳이 아니라면 그냥 카운트만 1 증가시킨다. 마지막에 카운트를 출력한다. */ #include #include using namespace std; int iscroi(string s){ string croi[8] = {"c=","c-","dz","d-","lj","nj","s=","z="}; for(int i=0 ; i> s; for(int i=0 ; i 0 ){ if(iscroi(s.subst.. 2021. 7. 25.
[C++] [LeetCode 412] Fizz Buzz (pps 5-5) 문제 풀기 전 생각 : /* 반복문을 돌린다. 반복문을 돌릴때 사용하는 변수 i를 사용한다. i 는 1로 시작한다. 이유는 나머지 계산할 때 가독성을 위해서 i가 3과 5로 나누어 떨어질 때 FizzBuzz 를 백터에 추가하고 3으로만 나누어 떨어지면 Fizz 를 백터에 추가한다. 5로만 나누어 떨어지면 Buzz 를 백터에 추가하고 위의 경우들에 해당하지 않는다면 그냥 i를 추가한다. */ class Solution { public: vector fizzBuzz(int n) { vector v; for(int i = 1 ; i 2021. 7. 22.
4. dialogue system 구축 한동안 알바와 캠프 문제 푸느라 방학 프로젝트를 놨었다... 그리고 요 며칠동안 npc랑 대화하는 기능을 구현하려고 했는데 아무리 유튜브를 찾아 봐도 볼트로 대화 시스템을 구축하는 방법은 나와있지 않았다. 내가 직접 만드는 건 너무 어렵고 오래 걸리는 방법이기에 이미 만들어진 에셋을 사용하기로 했다. 여러 에셋들을 사용해보면서 어느것이 작동되는지 그리고 어느것이 볼트랑 연동이 되는지 테스트 해보았다. 그리고 오늘 오전내내 dialogue system만 붙잡으면서 어느정도 에셋 사용에 성공했다. 이런 식으로 그래프를 사용해서 대화를 만들어두면 실제 게임에서 이런 대사들을 엔피시를 클릭하거나 말을 걸었을때 출력하도록 할 수 있다. 이런식으로 출력이 된다. 대화창 같은 경우엔 커스터마이징이 가능한 것으로 보인.. 2021. 7. 21.