일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JUCE library
- go channel
- a tour of go
- 운영체제
- tour of go
- OS
- 프로그래밍
- gui
- 연결리스트
- C++ gui 라이브러리
- 백준
- JUCE
- C++ gui
- BOJ
- C++
- JUCE 튜토리얼
- c++ heap
- 알고리즘
- 리듬게임
- vim-go
- Nebula
- Docker
- JUCE라이브러리
- C++ library
- LOB
- 코딩
- go
- 자료구조
- 공룡책
- C언어
- Today
- Total
목록Programming/백준 (24)
CafeM0ca
이전 수 정렬하기 문제에서 배열을 string으로 수정했다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546/*삽입 정렬1.데이터가 있다. 데이터는 두 개 이상이다.2.두번째 요소부터 마지막 요소까지 돈다.3.n번째 요소는 n부터 1까지 돈다.4.만약 n번째 요소가 n-1번째 요소보다 크면 그만 돈다.5.삽입으로 인해 요소들이 밀린다.*/#include #include using namespace std; inline void ShowArray(const string& s,int); void InsertSort(string& s, int len){ for(int i=1;i0;j--) //j는 i-1번째 ..
이전에 삽입정렬 구현해둔것으로 풀었다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253/*삽입 정렬1.데이터가 있다. 데이터는 두 개 이상이다.2.두번째 요소부터 마지막 요소까지 돈다.3.n번째 요소는 n부터 1까지 돈다.4.만약 n번째 요소가 n-1번째 요소보다 크면 그만 돈다.5.삽입으로 인해 요소들이 밀린다.*/ #include using namespace std; inline void ShowArray(int arr[],int); void InsertSort(int arr[],int len){ for(int i=1;i0;j--) //j는 i-1번째 원소 { if(arr[j..
std::array써서 저장하는 방식으로 사용하려 했지만 세로부터 1씩 증가하면서 꼭대기층까지 가면 가로를 1증가시키고 다시 세로를 1씩 증가하면서 n번째가 될때가 n번째 손님이니 출력했다. 12345678910111213141516171819202122232425262728#include using namespace std; int main(){ cin.sync_with_stdio(false); cin.tie(NULL); int h,w,n,t; cin >> t; for(int repeat=0;repeat> h >> w >> n; int cnt = 1; for(int i=1;i
대각선으로 증가한다. 대각선 끝을 체크포인트라 두고 왔다갔다하면서 분자,분모가 증가/감소 또는 감소/증가한다.위로 올라갈때는 분모가 증가하고 아래로 내려갈땐 분자가 증가한다. 이를 nutrun이라는 변수를 만들어 올라갈때 내려갈때를 구분해줘서 풀었다. 12345678910111213141516171819202122232425262728293031#include using namespace std;int main(){ int numuerator = 1,denominator = 1,x; // numuerator 분자, denominator 분모 cin.tie(NULL); cin.sync_with_stdio(false); cin >> x; bool nuturn = false; for(int i=1;i
재귀함수로 메모이제이션을 이용했다. 이게 0층4호 부터 3층 4호까지 적어보면 행렬의 모양을 띄우는데 a층 b호 = a층 b-1호 + a-1층 b호다. 모카는 문제에서 제시한 방법대로 풀었다. 람다 처음으로 적용해서 써봤는데 쏠쏠하다. 12345678910111213141516171819202122232425262728293031323334353637#include using namespace std;auto NextFloor(int k,int b){ static int memo[16][16]{0}; if(memo[k][b]) return memo[k][b]; if(k == 0) { memo[k][b] = b; return memo[k][b]; // 내 마음속에 저~장 } else{ return [&](..
지금 문제 열람이 안되는데 문제는 하나의 큰 폭죽이 k개의 중간 폭죽으로 나눠지고, 나눠진 중간폭죽은 폭죽마다 k개의 작은 폭죽으로 또 나눠져 한줌의 재가 된다는 내용이다.이때 전체 폭죽 대,중,소의 개수를 주어지고 k를 구하는 문제였다. 입력으로 21이 주어지면21 = 대+중+소 이다.여기서 대는 항상 1이다.20 = 중+소소는 중의 제곱이다. 편의상 둘다 k라 두자.20 = k + k^2k로 묶으면20 = k(1+k)다. 이것을 코드로 구현하면 되는 단순한 문제다. 123456789101112131415161718192021#include using namespace std; int main(){ cin.tie(NULL); cin.sync_with_stdio(false); int n; cin >> n..
이이전 문제에서 조금 바꿔서 풀었다. 제일 많이 나온 횟수(max)를 구하고 check함수를 통해 max가 두번 이상일 경우는 중복이니 ?를, 그게 아니라면 max값일때 i를 저장해 출력했다.12345678910111213141516171819202122232425262728293031323334353637#include #include #include #include int main(void){ std::cin.tie(NULL); std::cin.sync_with_stdio(false); std::string s; std::cin >> s; std::vector alpha(26,0); //대문자 for(int i=0;i 96) //소문자 alpha[s.at(i)-97]++; else alpha[s.at..
설명이 필요없다.특수문자도 잘 출력되니 그대로 출력해주면 그만..1234567891011121314151617181920#include #include int main(){ std::cin.tie(NULL); std::cin.sync_with_stdio(false); std::string s; short T,R; std::cin >> T; for(int i=0;i> R >> s; for(int j=0;j
문제에 소문자만 있어서 간단하게 풀었다. 1234567891011121314151617181920212223#include #include #include int main(void){ std::cin.tie(NULL); std::cin.sync_with_stdio(false); std::string s; std::cin >> s; std::vector v(26,-1); //알파벳은 26글자던가.. -1로 다 초기화 for(int i=0;i
전에 파이썬으로 풀었었는데 이번에 채점기준이 바뀌면서 틀렸다. 그리고 파이썬을 안하다보니 주 언어인 C++로 풀 생각을 했다. 공백포함 한줄한줄 입력받은대로 출력해주는 함수가 c++에 있다. -> getline string에 정의되어 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include #include using namespace std; int main() { string s; char arr[100]; while(cin.getline(arr,100)) //배열 버전 { cout