Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

hwooo

프로그래머스 (C/C++) 12985 : 예상 대진표 본문

Study/Algorithm

프로그래머스 (C/C++) 12985 : 예상 대진표

hwooo 2023. 7. 14. 03:49

https://school.programmers.co.kr/learn/courses/30/lessons/12985

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


풀이

처음엔 a와 b의 값의 차이가 1일 때만 조건으로 넣었는데, 이럴 경우 a=2, b=3이어서 다음 대진에서 만날 때의 경우를 확인할 수 없다.

 

따라서 b-a==1 이고, b만 2의 배수일 경우가 서로 만나는 경우이다.


코드

#include <iostream>
#include <algorithm>
using namespace std;

int solution(int n, int a, int b){
    int answer = 1;
    if(a > b) swap(a,b);
    while(1){
        if(b-a==1 && a%2 && b%2==0) break;
        answer++;
        a = (a+1)/2;
        b = (b+1)/2;        
    }

    return answer;
}