본문 바로가기
  • Let's study

C++54

[C++] 백준 7568번: 덩치 1. pair 형태로 몸무게랑 키를 vector에 저장, score는 등수 저장 변수로 모두 1로 초기화 2. 벡터의 모든 요소를 하나하나 비교하면서 자신보다 몸무게와 키 둘 다 큰 다른 요소랑 비교할 경우 등수++ 3. 등수 출력 #include #include using namespace std; int main(void) { int n; cin >> n; vectorv; int score[51]; for (int i = 0; i > a >> b; v.push_back(make_pair(a,b)); score[i] = 1; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i == j).. 2020. 12. 23.
[C++] 백준 2231: 분해합 1. 가장 작은 생성자를 구해야 하므로 1부터 더해나간다. 2. sum은 생성자와 생성자의 각 자리수 합을 모두 더한 변수, p는 각 자리수의 합을 구하기 위한 변수 3. p가 0이 될때까지 각 자리수의 합을 구하고 sum에 추가 4. sum==n 이면 i를 출력하고 실행을 끝낸다. 5. 만약 4번 조건에 걸리지 않는다면 생성자가 없는 것이므로 0을 출력한다. #include using namespace std; int main(void) { int n; cin >> n; int sum;//전체 합 int p;//각 자리수 for (int i = 1; i 0) { sum += p % 10; p /= 10; } if (sum == n) { .. 2020. 12. 23.
[C++] 백준 2798번: 블랙잭 1. 3개를 뽑아야 하니 i는 0부터 n-2번까지, j는 i+1부터 n-1번까지, k는 j+1부터 n까지 뽑는 경우의 수를 반복한다. 2. 이때 각각 뽑은 수를 다 더했을 때 그 값이 딜러가 외친 숫자보다 작거나 같고 이전 값보다 크다면 값을 재설정 해준다. #include using namespace std; int main(void) { int n, m; cin >> n >> m; int arr[101]; int result = 0; for (int i = 0; i > arr[i]; } for (int i = 0; i < n - 2; i++) { for (int j = i + 1; j < n - 1; j++) { for (int k = j + 1; k < n; k++) .. 2020. 12. 23.
[C++] 백준 1316번: 그룹 단어 체커 list 배열로 알파벳이 나왔던 건지 판단 1. 입력받은 str배열의 이전 위치와 현재 위치의 값이 다르다면 list 배열의 str[j-1]-'a' 에다가 1을 넣어준다. (-'a'로 str이 문자배열이지만 숫자로 변경하여 저장가능) 2. 이때 만약 list 배열의 str[j]-'a' 에 저장된 값이 1이라면(이미 나온 적이 있음) flag=1로 바꿔주고 break로 반복문을 빠져나온다. 3. 반복문을 빠져나왔을 때 flag==0이라면(그룹단어임) 개수를 ++해준다. #include #include using namespace std; int main() { int list[26] = { 0, }; int n; cin >> n; int cnt = 0; for (int i = 0; i < n; i++) {.. 2020. 12. 8.
[C++] 백준 2941번: 크로아티아 알파벳 1. 크로아티아 알파벳을 배열로 저장해준다. 2. string으로 문자열을 입력받고 첫 글자가 크로아티아의 알파벳과 동일하다면 다음 글자도 비교한다. 이 때 크로아티아 알파벳이 맞다면 i++를 해주며 넘긴다. (세글자인 "dz="는 i+=2를 해준다.) 3. for문을 한 번 돌 때마다 알파벳 수를 세는 cnt를 +1 해준다. (한 글자짜리 알파벳이어도 cnt++가 됨.) #include #include using namespace std; int main() { string str[] = {"c=","c-","dz=","d-","lj","nj","s=","z="}; string arr; cin >> arr; int cnt = 0; for (int i = 0; i < arr.size(); i++) { i.. 2020. 12. 8.
[C++] 백준 1654번: 랜선 자르기 #include #include using namespace std; long long length[10001]; long long high = 0; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int k, n; cin >> k >> n; for (int i = 0; i > length[i]; high < length[i] ? high = length[i] : high; } long long low = 1; long long result = 0; while (low 2020. 11. 22.