백준/구현17 [백준 14469번 / C++] 소가 길을 건너간 이유 3 쉬운 문제이니 그림을 참고해서 한번 생각해보자 위와 같이 예제가 주어졌다고 가정하자. 2초에 들어와서 1초동안 8초에 들어와서 3초동안 5초에 들어와서 7초동안 "정렬 시켜준다." 2초에 들어와서 1초동안 5초에 들어와서 7초동안 8초에 들어와서 3초동안 여기서 time이라는 변수를 만들어줘서 time 은 "시작시간 + 검문시간" 을 저장해주는데 이때 중요한점은 "시작시간 + 검문시간" 이 다음 소가 들어오는 시간과 겹칠 수 가 있다. 그렇기 때문에 time이 겹칠 경우 계속해서 누적해주면서 time값을 갱신해준다. #include #include #include using namespace std; int main() { int n; cin >> n; vector v; for (int i = 0; i .. 백준/구현 2022. 1. 17. [백준 9935번 / C++] 문자열 폭발 처음에 작성했던 코드이다. #include #include using namespace std; string s1, s2, result; int main() { cin >> s1 >> s2; int pos=0; for (auto c : s1) { result += c; if ((pos=result.find(s2))!=string::npos) { result.erase(result.begin()+pos, result.end()); } } if (result.size())cout > s2; for (int i = 0; i = s2.size()) { if (result.substr(result.size() - .. 백준/구현 2022. 1. 17. [백준 2979번 / C++] 트럭 주차 쉬운 문제다 1부터 100이라는 시간에 겹치는 차의 개수를 배열에 저장한 뒤 그 배열의 인덱스를 돌아보면서 차의 개수에 따른 값을 sum값에 더해주면 된다. #include using namespace std; int arr[101]; int main(){ int a,b,c; cin>>a>>b>>c; for(int i=0; i>x>>y; for(int j=x; j 백준/구현 2022. 1. 17. [백준 10808번 / C++] 알파벳 개수 쉬운 문제다 알파벳을 의미하는 26개의 배열을 생성하여 문자열이 입력되면 해당 사이즈만큼 돌아보면서 특정 알파벳을 의미하는 배열의 count 값을 올려준다. 여기서 라는 것은 아스키코드로 나타낼수 있다. 만약 s[0] 은 알파벳 a를 뜻하는 거라면 소문자 a 는 아스키 코드값으로 97이다 이 문자에 같은 아스키코드를 갖는 'a' 를 빼주면 값은 0이 된다. 즉, 알파벳을 의미하는 배열 인덱스 0을 가리키게 된다. 만약 s[0] 이 'c' 이고 해당 문자에 -'a' 를 해준다면 99 - 97 이 되어서 값이 2가 된다. #include #include using namespace std; int a[26]; int main() { string s; cin >> s; for (int i = 0; i < s... 백준/구현 2022. 1. 17. [백준 2309번/ C++] 일곱 난쟁이 모든 경우의 수 정렬 벡터를 정렬할 때 정렬 될 수 있는 모든 경우의 수를 물어보는 문제가 있다. 이러한 경우 해당 함수를 사용한다. 즉, A B C 를 정렬하고 싶은데 모든 경우를 정렬하면, ABC ACB BAC BCA CAB CBA 순으로 정 baebalja.tistory.com 이 문제는 next_permutaion 함수를 사용하면 된다. 해당 함수를 모른다면 위의 링크에 가서 한번 숙지하고 오자. 9명의 난쟁이 중에 일곱 난쟁이의 키의 합이 100이 됐을 때 난쟁이의 키를 오름차순으로 출력하면 된다. 즉, next_permutaion 함수를 사용해서 모든 경우의 수를 살펴보면서 첫 인덱스부터 7번째 인덱스까지 합산하여 그 값이 100이면 멈추고 이에 해당하는 난쟁이의 키를 순서대로 출력하면 되는 .. 백준/구현 2022. 1. 17. [백준 2559번 / C++ ] 수열 누적합 문제이다. start 포인트와 end 포인트를 둬서 투포인트로 풀어도 된다. 하지만 이 방법은 여기서 최적의 풀이법은 아니다. #include #include #include #include using namespace std; int answer = INT_MIN; int main() { int start, end, n, k, sum = 0; cin >> n >> k; start = 0; end = k - 1; vector v(n); for (int i = 0; i > v[i]; for (int i = 0; i > k; for (int i = 1; i > temp; sum[i] = sum[i - 1] + temp; } for (int i = k; i 백준/구현 2022. 1. 14. [백준 9996번/ C++] 한국이 그리울 땐 서버에 접속하지 문자열 안에 문자/문자열 찾기 find 코딩테스트에서 정말 많이 쓰이는 함수이다. 어떠한 문자 또는 문자열을 찾기 위해서 for문을 돌려가며 체크를 무식하게 해왔던 기억이 있다. 그렇게 하지말고 find 함수를 사용하여 쉽게 check baebalja.tistory.com 인덱스로 문자열 자르기 문자열을 처리하기 위해서 정말 많이 쓰이는 함수이다. 이 함수는 어떠한 문자열의 특정 인덱스에서 어떠한 인덱스까지 사이의 새로운 문자열을 만들때 보통 사용된다. 예를 들어, "abcdefe" 라는 baebalja.tistory.com 해당 문제를 풀기 위해서 find() 함수와 substr() 함수를 알아야한다. 해당 함수를 사용할 줄 모른다면 메뉴에서 "C++ 코테 문법 문자열" 카테고리에서 참고해야 한다. 먼.. 백준/구현 2022. 1. 13. 이전 1 2 다음 반응형