본문 바로가기
728x90

분류 전체보기183

[백준/BOJ] - 4153번 c++ 풀이 Key Point 1. 입력한 3개의 수를 sort하여 가장 긴 변과 나머지 변을 나누어야 한다. (#include) 2. 피타고라스의 정리 a² + b² = c² 을 통해 직각삼각형 여부를 확인한다.(#include) - pow 알게 된 문법 1. v.at(index) > a >> b >> c; if (a == 0 && b == 0 && c == 0) break; v.push_back(a); v.push_back(b); v.push_back(c); sort(v.begin(), v.end()); if (pow(v[0], 2) + pow(v[1], 2) == pow(v[2], 2)) cout 2022. 11. 13.
[백준/BOJ] - 15829번 c++ 풀이 Key Point 1. L의 범위에 따라 값의 크기가 상이한 점을 인지 2.값이 1234567891보다 커지는 순간 계속해서 나눠줘야 한다는 점 알게 된 문법 1. long long #include using namespace std; int main() { int N; long long M = 1234567891; string str; long long num[51] = { 0, }; long long sum = 0; cin >> N; cin >> str; for (int i = 0; i < str.length(); i++) { num[i] = (long long)str[i] - 96; } for (int i = 0; i < str.length(); i++) { //0~4 for (int j = 0; .. 2022. 11. 12.
[백준/BOJ] - 1436번 c++ 풀이 Key Point 1. 배열에서 '666'이라는 문자열이 존재하는지 확인을 계속 해야한다. 2. 확인이 되면 반복문 탈출하고 다음 숫자를 찾아 떠나야한다. 알게 된 문제 풀이법 1. 배열에서 '666'이라는 값이 있는지 어떻게 비교할까를 생각해내지 못하여 풀이를 참고했는데 조건문에 연속적으로 if (target[j] == '6' && target[j + 1] == '6' && target[j + 2] == '6') 다음과 같이 연속된 배열을 확인하며 해당 안 될 경우 배열속 index값을 +1 하여 다음 배열을 확인할 수 있게 하는 풀이법을 터득하였다. #include #include using namespace std; int main() { int N; int cnt = 0; int i = 666; .. 2022. 11. 12.
[백준/BOJ] - 1259번 c++ 풀이 Key Point 1. 입력한 문자열과 반전시킨 문자열이 같아야 한다.( 뒤집었을 때 같아야함) 2. 백준은 하나 입력하고 하나 출력하고의 방식도 정답으로 처리함 3. 문자열 하나의 값에 대한 결과를 출력하고 벡터를 clear해준다. 4. string 자체 값을 넣어버리면 reverse 수행을 원하는 방향으로 못하기 때문에 char 형태로 vector을 생성 새로 알게 된 문법 1. 벡터 반전시키기 reverse(v_temp.begin(), v_temp.end()) 2. 벡터 비우기 v.clear() #include #include #include using namespace std; int main() { string str; vector v; vector v_temp; while (cin >> str.. 2022. 11. 12.
[백준/BOJ] - 1181번 c++ 풀이 Key Point 1. sort 알고리즘과 vector의 unique 기능을 사용하자. 2. sort 알고리즘의 compare의 return 부등호를 조건에 맞게 수정하자. ( 길이가 같으면 사전순 정렬, 길이가 다르면 크기별 정렬) 3.sort를 마무리 한후, 겹치는 문자 제거하고 출력 알게 된 문법 1. algorithm lib에 sort를 사용하는 법. 어떤 기준으로 정렬을 실행할 때 sort(시작점 ,종료점, 기준) 2. vector의 겹치는 요소를 지우는 방법 v.erase(unique(v.begin(), v.end()), v.end()); 3. 반복문을 간단하게 선언하는 방법 for(string i : v) // v에서 뽑아낸 i를 가져올 수 있음 #include #include #includ.. 2022. 11. 12.
[백준/BOJ] - 1018번 c++ 풀이 - 첫 실버 Key Point 1. 정상 체스판의 케이스 2가지를 만들어 놓는다. (2차원 배열로) 2. 탐색을 시작하는 행과 열의 시작점이 달라지기 때문에 각각의 탐색 시작점을 의미하는 start1, start2 변수를 정의 3. 탐색 1cycle이 종료되면 최솟값을 뽑아내어 cnt를 0으로 초기화 4.시작점을 의미하는 변수인 start1, start2와 tem_garo, tem_sero를 tem_garo, tem_sero 값 여부에 따라 변경해준다. (행을 바꿀 경우 tem_sero의 값이 하나 줄어들게 되고 tem_garo의 값이 초기화 된다.) 5. 배열 탐색 여유 공간을 의미하는 tem_garo와 tem_sero가 전부 0이 되면 반복문을 탈출하여 cnt 최솟값들을 비교하여 가장 최솟값을 뽑아낸다. 새로 알.. 2022. 11. 11.
728x90