-
[2930] 가위 바위 보BOJ 2021. 12. 9. 15:24
https://www.acmicpc.net/problem/2930
2930번: 가위 바위 보
가위 바위 보는 두 사람이 즐기는 유명한 게임이다. 각 플레이어는 자신의 손을 이용해서 가위, 바위, 보 중 한 모양을 만들어야 한다. 두 플레이어가 같은 모양을 만든 경우에는 비기게 된다. 가
www.acmicpc.net
<문제>
r개의 라운드에서, i번째 턴에 {'R', 'S', 'P'}중 하나를 냈을때의 결과를 리턴하는 함수를 하나 만드면
최대값은 max({f(R), f(S), f(P)}이고, 상근이의 점수는 입력받은것 하나만 함수로 전달하여 누적하면 된다.
<소스코드>
12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;int r, n, ans, ans_max;string s;string x[51];int f(int idx, char cur) {int ret = 0;for (int i = 0; i < n; i++) {if (cur == 'R' && x[i][idx] == 'S' || cur == 'S' && x[i][idx] == 'P' ||cur == 'P' && x[i][idx] == 'R')ret += 2;else if (cur == x[i][idx])ret += 1;}return ret;}int main(void) {cin >> r;cin >> s;cin >> n;int i;for (i = 0; i < n; i++) cin >> x[i];for (i = 0; i < r; i++) {int sc = f(i, s[i]);ans += sc;int sc_max = max({f(i, 'R'), f(i, 'S'), f(i, 'P')});ans_max += sc_max;}cout << ans << '\n' << ans_max;return 0;}cs 'BOJ' 카테고리의 다른 글
[19564] 반복 (0) 2021.12.09 [14487] 욱제는 효도쟁이야!! (0) 2021.12.09 [15600] Boss Battle (0) 2021.12.09 [1434] 책 정리 (0) 2021.12.09 [2864] 5와 6의 차이 (0) 2021.12.09