본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 6437 : Golf

반응형

https://www.acmicpc.net/problem/6437

 

6437번: Golf

Whoever wants to learn the game of golf has to cope with several oddities first (as with every other game that originates from Great Britain). One of them is the way to count the number of strokes a player needed to put his golf ball in a hole. There is a

www.acmicpc.net

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

 1. 정해진 par의 수 p, 실제 stroke 횟수 s, test case 번호 cnt를 선언해줍니다. 2. while loop를 수행하며 p, s가 둘 다 0일때까지 입력해줍니다. 매 loop마다 cnt는 1씩 증가됩니다.

📔 풀이과정

 조건에 따른 점수이름을 string으로 반환하는 함수 getName을 수행합니다.

📔 정답출력

Hole 번호와 getName의 결과값을 형태에 맞춰 출력합니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int p, s, cnt;

string getName(){
    int diff = p - s;
    if(diff == 1) return "Birdie.\n";
    if(diff == -1) return "Bogey.\n";
    if(diff == 2 && s == 1) return "Hole-in-one.\n";
    if(diff == 2) return "Eagle.\n";
    if(diff == 3) return "Double eagle.\n";
    if(diff == 0) return "Par.\n";
    return "Double Bogey.\n";
}

int main(){
    while(1){
        cnt++;
        cin >> p >> s;
        if(!p && !s) break;
        printf("Hole #%d\n", cnt);
        cout << getName() << '\n';
    }
}