-
프로그래머스 - 예상 대진표 [C++]문제 풀이/프로그래머스 2023. 8. 22. 12:00반응형
이 문제는 수학 문제이다. 어떤 사람의 수가 n이라고 할 때, n이 홀수인 경우 이겼을 때 다음 라운드에서의 번호는 n / 2 + 1이고, 짝수인 경우 n / 2 가 된다는 규칙을 찾았다. 또한 a, b 둘이 만났다면 둘이 경기를 하고 난 다음 라운드의 번호가 각각 같게 된다. 이를 이용해서 문제를 풀면 쉽게 풀 수 있다.
#include <iostream> using namespace std; int solution(int n, int a, int b) { int answer = 0; while (a != b) { if (a % 2 == 1) { a = a / 2 + 1; } else { a = a / 2; } if (b % 2 == 1) { b = b / 2 + 1; } else { b = b / 2; } answer++; } return answer; }
반응형'문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 멀리 뛰기 [C++] (0) 2023.08.22 프로그래머스 - N개의 최소공배수 (0) 2023.08.22 프로그래머스 - 점프와 순간 이동 [C++] (0) 2023.08.22 프로그래머스 - 영어 끝말잇기 [C++] (0) 2023.08.22 프로그래머스 - 짝지어 제거하기 [C++] (0) 2023.08.22