//
// main.cpp
// proof
//
// Created by 무제 on 2016. 12. 3..
// 난 빠가다
//
#include <iostream>
const int number_of_cards=7; //핸드에 총 7개 카드 있음
using namespace std;
int main(int argc, const char * argv[]) {
int card[7]={14,2,3,4,5,9,5}; // Ace는 14로 표현 2부터 ACE까지. 2~14로 가정
int i;
int judge = 0;
for( i = 0 ; i < number_of_cards ; i++ )
{
judge |= 1<<(card[i]-1);
}
if( judge & 14 ) judge |= 1<<14;
for( i = 0 ; i < 9 ; i++, judge>>=1 )
{
if( (judge & 0xf) == 0xf ) break; // 14비트
}
if( i < 9 ) printf("Straight!!! ");
}
이렇게 했는데 근데 이해가 안가는게 14비트라고 힌트 주셔서 14비트로 기준보고짰는데 왜 14비트여야하는 거에여?
A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A
좀 더 잘 짜 보세유~ -1은 왜 하는지 모르겠슈
ㄴ 아하...질문한거 너무 죄송...
-1 이여? 아 이건 짜다보니 -1넣으니까 되서 다시짜볼게요 구글링하고 코세성이 가르쳐준거 대로 한거라 ㅋㅋ
이건 카드를 받을때마다 구성하는 방법이네요
상태가 있으면 마지막에 완성되는
거에여->거예여 (받침 있으면 이에요 없으면 예요 이로 끝나면 받침 없으므로 예요 요 떼서 말 되면 에요 아니에요는 예외 인명엔 예요(예 : 길동이예요) 성까지 쓰면 이에요(예 : 홍길동이에요)) [리듬 맞춤법 봇♬]
인생필패//되서->돼서 (되어 = 돼임) [리듬 맞춤법 봇♬]
ㄴ 스트레이트만 확인해보려고 짠 로직
이방법이 빠르긴한데 3장받고 그 이후로 받은 카드는 여태껏 받은 카드랑 숫자차이가 5 이하로만 나게 받도록 짜면 카드 한장씩 까면서 더이상 검사할지 안할지 결정가능할듯
그런방법으로 모든 족보 검사기 만들어놓고 카드 한장한장씩 족보 검사기에 넣으면서 다 넣었을때 살아있는 검사기중에서 높은거 고르면 될듯