2024/08 12

[백준] 1072번 : 게임 - Java

문제https://www.acmicpc.net/problem/1072현재 진행한 게임 수와 이긴 게임 수가 주어질 때, 승률을 1% 이상 올리기 위해 추가로 진행해야 하는 최소 게임 수를 구하는 문제입니다. 승률은 (이긴 게임 수 / 총 게임 수) * 100 으로 계산됩니다. 접근 방법이분 탐색: 추가로 진행할 게임 수를 이분 탐색을 통해 효율적으로 찾습니다.left, right, mid를 사용하여 이분 탐색을 수행합니다.mid는 추가로 진행할 게임 수의 중간값을 나타냅니다.새로운 승률을 계산한 후, 현재 승률과 비교하여 조건에 맞게 left 또는 right를 조정합니다.현재 승률 계산: (int) ((long) wonGames * 100 / totalGames)를 통해 현재 승률을 계산합니다. 여기서 ..

[백준] 16926번 : 배열 돌리기 1 - Java

문제https://www.acmicpc.net/problem/16926주어진 N x M 크기의 2차원 배열과 정수 R이 주어집니다. 배열의 각 층을 시계 방향으로 R번 회전시키는 문제입니다. 배열의 크기와 회전 횟수에 따라 각 층이 어떻게 변하는지 구현하는 문제입니다.접근 방법층 분리:배열을 층별로 나누어 각 층을 별도로 다룹니다. 각 층은 외부에서 내부로 원형으로 구성된 요소들의 집합입니다.회전 처리:각 층을 회전시키기 위해, 우선 각 층을 1차원 배열로 변환한 뒤 회전한 후, 다시 2차원 배열로 복원합니다.출력:변환된 배열을 출력합니다.해결 방법층 분리:각 층의 시작과 끝 좌표를 정의하고, 해당 좌표에 위치한 요소들을 1차원 배열로 변환합니다.회전 처리:1차원 배열로 변환된 층을 시계 방향으로 회전합..