백준 썸네일형 리스트형 2810 컵홀더 쉬웠다! 그냥 컵의 개수를 구하고 인원수와 컵의 개수의 최솟값을 구하면 된다. 처음에 한 명이면 2 말고 1을 출력하게 하려 했는데 생각해보니 굳이 그럴 필요가 없어서 없앴다. #include #include using namespace std; int main() { int n; scanf("%d", &n); string a; cin >> a; int count = 0; for(int i = 0; i < a.length(); i++){ if(a[i] == 'L') i++; count++; } printf("%d", min(++count, n)); return 0; } 더보기 15904 UCPC는 무엇의 약자일까? 보자마자 오토마타를 쓰고 싶었다. #include #include using namespace std; int main() { string a; getline(cin, a); int state = 0; for(int i = 0; i < a.length(); i++){ if(a[i] == 'U' && state == 0) state = 1; else if(a[i] == 'C' && state == 1) state = 2; else if(a[i] == 'U' && state == 1) state = 1; else if(a[i] == 'P' && state == 2) state = 3; else if(a[i] == 'C' && state == 3){ state = 4; break; } } if(state ==.. 더보기 3613 Java vs C++ 어렵지는 않은데 경우 따지는게 복잡했다. 파이썬이면 그냥 isalpha 이런거 써서 쉽게 할 수 있는데 씨쁠쁠은 모르겠다. 그래서 그냥 하나하나 다 확인했음. 자바는 소문자랑 대문자만 있어야 하고 c++은 소문자랑 _만 있어야 하므로 이 외의 문자가 나올 경우 false로 둔다. 그리고 둘 다 false라면 그때는 error를 띄우게 코드를 짰다. 그런데 틀렸다ㅠ 다시 보니 빠진 경우가 있다. 예를 들어 a__ 이런것도 내 코드에서는 맞았다고 뜨는데 여기서는 틀렸다고 둬야한다. 그래서 _가 입력으로 들어왔을 때 _가 연속으로 있지는 않은지, 그리고 끝에 붙어있지는 않은지 확인해줬다. #include #include using namespace std; int main() { string s; cin >>.. 더보기 11383 뚊 처음에 저렇게 생각하고 짰는데 계속 Not Eyfa 뜨길래 값 잘 들어갔는지 확인해봤다. 보니깐 문자열 배열의 값이 이상하게 들어갔다. 문자열에 엔터가 있는 걸로 봐서는 n, m을 입력받고 버퍼에 엔터가 남아있어, 이걸 읽어서 붙인 것같았다. 그래서 그냥 string으로 통으로 입력 받고 string의 각 문자를 두 번 붙여줬다. #include #include #include using namespace std; int main() { int n, m; scanf("%d %d", &n, &m); vector v(n, ""); for(int i = 0; i > input; for(int j = 0; j < m; j++){ v[i] += input[j].. 더보기 1049 기타줄 n : 끊어진 기타줄의 개수 M : 브랜드 6개 세트와 낱개로 사는 두가지 경우가 있다. 각 브랜드 별 돈의 가격을 구한 후 그 중에서 최솟값을 구하면 될거라 생각했다. #include #include #include using namespace std; int main() { int n, m; scanf("%d %d", &n, &m); vector money(m*2); for(int i = 0; i < m*2; i=i+2){ scanf("%d %d", &money[i], &money[i+1]); money[i+1] *= n; } printf("%d", *min_element(money.begin(), money.end())); return 0; } 처음 짠 코드는 위와 같다. 먼저 돈을 입력받을 벡터를.. 더보기 10867 중복 빼고 정렬하기 저번 정렬 문제랑 비슷하게 풀었다. 입력으로 들어오는 수의 절댓값이 1000을 넘지 않으므로 배열을 따로 만들어서 들어오는 수가 몇개인지 셌다. 다음으로 0이 아니면 수가 들어왔다는 뜻이므로 출력한다. 끗~! #include #include using namespace std; int main() { int n; scanf("%d", &n); vector a(2001,0); for(int i = 0; i ForwardIt unique( ForwardIt f.. 더보기 10989 수 정렬하기 3 어렵다! 모르겠다! 감도 안 잡힌다! ''' 그냥 편하게 정렬해서 풀려 했더니 메모리 초과가 떴다. 보니깐 메모리 제한이 8MB였다ㅋㅋㅋㅋ 8MB = 8 * 1000KB = 8 * 1000 * 1000바이트이고 N은 10,000,000개가 들어온다. 딱 봐도 터진다! 그런데 해결방법을 모르겠다! 알고보니 카운팅 소트를 써야 하는 문제였다. https://bowbowbow.tistory.com/8 Counting Sort : 계수 정렬 Counting Sort Counting Sort Counting Sort 소개 정렬 과정 애니메이션 예시 구현 정리 끝 소개 Counting Sort 는 정렬 알고리즘으로 의 시간복잡도를 갖습니다. 반면 일반적 상황에서 가장 빠른 정렬 알고리즘.. bowbowbow.tis.. 더보기 1252 이진수 덧셈 #include #include using namespace std; int main() { string zero = "", b1, b2; cin >> b1>> b2; for(int i = 0; i < b1.length(); i++){ if(b1[i] == 0) b1 = b1.substr(1, b1.length() - 2); else break; } cout 더보기 이전 1 ··· 38 39 40 41 42 43 44 ··· 50 다음