Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 디자인패턴
- 레퍼럴
- D2
- 10505
- D3
- 이니셔티브 q
- 메타퀘스트3
- Design Pattern
- 논블록
- Java
- 자료구조
- SOLID
- SWEA
- 11060
- BOJ
- 어싱크
- 알고리즘
- 재밌게 할래요
- C++
- Meta Quest3
- level2
- 블록
- 점프 점프
- spring
- 리퍼럴
- 백준
- Initiative Q
- d4
- 삼성 SW 역량 테스트 기출 문제
- 프로그래머스
Archives
- Today
- Total
아직은 정체성이 없는 블로그
[SWEA][D3][c++] 9778. 카드 게임 본문
문제
9778. 카드 게임
문제 링크
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXE0YJiK3QcDFAVX
풀이 과정
1. 입력 값을 통하여 플레이어의 현재 점수와 남은 카드들을 계산합니다.
2. 모든 남은 카드와 플레이어의 점수의 합이 21 이상인지 아닌지 확인을 합니다.
3. 만약 21 이하라면 해당 카드의 수 만큼 Result에 더합니다.
4. 만약 21 미만이라면 해당 카드의 수 만큼 Result에 뺍니다.
5. Result 값이 양수라면 GAZUA를 0 또는 음수라면 STOP을 출력합니다.
코드
#include<iostream>
using namespace std;
int scoreArr[12];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int T,N,playerScore,Result,i;
cin>>T;
for(int t = 1; t <= T; ++t)
{
playerScore=0, Result=0;
for(i=2; i<=11; i++)
scoreArr[i]=4;
scoreArr[10]=16;
cin >> N;
int temp;
//현재 플레이어의 점수 입력
for(i=0; i<N; i++){
cin >>temp;
scoreArr[temp]--;
playerScore+=temp;
}
//현재 플레이어의 점수와 다음 카드의 합과 21의 비교
for(i=2; i<=11; i++)
if(playerScore+i<=21)
Result+=scoreArr[i];
else
Result-=scoreArr[i];
if(Result>0)
cout<<"#"<<t<<" "<<"GAZUA\n";
else
cout<<"#"<<t<<" "<<"STOP\n";
}
return 0;
}
'알고리즘 역량테스트 문제 > SWEA' 카테고리의 다른 글
[SWEA][D2][c++] 1948. 날짜 계산기 (0) | 2020.07.19 |
---|---|
[SWEA][D3][c++] 6913. 동철이의 프로그래밍 대회 (0) | 2020.07.18 |
[SWEA][D3][c++] 10200. 구독자 전쟁 (0) | 2020.07.14 |
[SWEA][D3][c++] 9839. 최고의 쌍 (0) | 2020.07.14 |
[SWEA][D3][c++] 9940. 순열1 (0) | 2020.07.13 |
Comments