[BOJ 1072] 게임(C++)
https://www.acmicpc.net/problem/1072 1072번: 게임 각 줄에 X와 Y가 주어진다. X는 1,000,000,000보다 작거나 같은 자연수이고, Y는 0보다 크거나 같고, X보다 작거나 같은 자연수이다. www.acmicpc.net 게임 기록은 다음과 같이 생겼다. 게임 횟수 : X 이긴 게임 : Y (Z %) Z는 형택이의 승률이다. 소수점은 버린다. 예를 들어, X=53, Y=47이라면, Z = 88이다. X와 Y가 주어졌을 때, 형택이가 게임을 몇 판 더해야 Z가 변하는지 구하는 프로그램을 작성하시오. 몇 판을 더하는 횟수를 a라고 하면, (X + a) / (Y + a) >= (X / Y) + (1 / 100) 을 구하기 위해선, 양변에 Y를 곱해야 하는데, Y의 최댓값..
[BOJ 1316] 그룹 단어 체커
이 문제에서 말하는 그룹 단어라고 함은 다음과 같다. "ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다." 위의 정의를 바탕으로 코드를 작성하면 된다. 만약에 문자열이 있다면, 문자열의 처음 문자부터 그룹 단어를 형성하고 있는지 확인하면 된다. 그룹 문자라면 연속적인 두 문자들이 계속 같을 것이고, 그룹 문자가 아니라면 연속적이지 않은 두 문자가 같은 문자를 가진 경우가 있을 것이다. 추가적으로, 이전의 문자를 통해서 이미 그룹 문자로 판명된 문자에 대해서는 검사할 필요가 없으므로, 별도의 bool 배열을 선언해준다. 해설코드(C++). 1 2 3 4 ..