-
[D3] SWEA 17642. 최대 조작 횟수SWEA 2024. 4. 28. 02:01
1. 접근 방식
일단, a는 더하기만 가능하고
b는 빼기만 가능하기 때문에
1)a>b는 불가능하다.
조건을 0부터 1까지 차근차근 보자
1)a-b=1
안된다.
2)a-b=2
2를 1번 더해주면 된다.
ex)a,b=2,4 => 2+2=4
ex)a,b=3,5 => 3+2=5
3)a-b=3
ex)a,b=2,5=>2+2+3=5
2->2번, 3->1번
여기서 a-b=짝수,홀수일 때
최대 조작 횟수는 (a-b)//2+1을 알 수 있어야 한다.
2. 디테일한 구현
조건만 정확하게 if-else문으로 구현해주면 된다.
3. 코드 구현
1234567891011121314151617181920if __name__=='__main__':sys.stdin=open('input2.txt','r')t=int(input()) ## 총 테스트 케이스 개수for tc in range(t):a,b=map(int,input().split())w=(b-a)if w<0:print(f'#{tc+1} {-1}')elif w==0:print(f'#{tc+1} {0}')elif w==1:print(f'#{tc+1} {-1}')else:res=(w//2)print(f'#{tc+1} {res}')cs 4. 깨달은 점 및 반성
이 문제도 못 풀었다.
a,b는 애초에 누가 크고 작은 지 랜덤으로 주어지는 값이었고
a는 더하고 b는 빼기만 가능하기에
a>b이면 불가능한 데, 그 경우를 생각 못 했다.
좀 더, 여유를 가지고 조건을 돌아보는 실력이 되게끔 노력하자
'SWEA' 카테고리의 다른 글
[D3] SWEA 16002. 합성수 방정식 (0) 2024.04.28 [D3] SWEA 16800. 구구단 걷기 (0) 2024.04.28 [D3] SWEA 17319. 문자열문자열 (0) 2024.04.27 [D3] SWEA 17937. 큰 수의 최대공약수 (0) 2024.04.27 [D3] SWEA 18662. 등차수열 만들기 (0) 2024.04.27