[SWEA] 영감탱 가만 안둬 [PYTHON]
췤코 이뿌네,,,
2년 전에 갔다 왔다는 것도 가물가물하다
BABY JIN
진촤 베이비진 ㅂㄷㅂㄷ
0~9 사이의 숫자카드에서 임의의 카드 6장을 뽑았을 때, 3장의 카드가 연속적인 번호를 갖는 경우를 run이라 하고,
3장의 카드가 동일한 번호를 갖는 경우를 triplet이라고 한다.
그리고 6장의 카드가 run과 triplet으로만 구성된 경우를 baby-gin으로 부른다.
6자리의 숫자를 입력을 받아 baby-gin 여부를 판단하는 프로그램을 작성하라.
베이비진이 맞다면 1을 아니라면 0을 출려하여라...
입력
첫줄에는 테스트케이스 개수가 주어지고, 이후 6장의 카드가 주어진다.
출력
#(테케번호) (정답) 형식으로 출력할것.
라이브 쉅 때 스륵 배워서 쓸 수 있을 것이라 생각했다.
첫번째 오류는 제일 첫 자리가 0임에도 줄기차게 int만 사용했던 것.
% 10을 해서 다시 더해줘야 0도 살아나는 것인디 말이다.
두번째, continue를 이해하지 못한 것. 만약 667766이라면 첫번째 if문을 2번 돌아야하는데 사실은 아직 이해가 가지 않음. continue 없으면 오답이 나더라. 오 아니다
만약 숫자가 666666일 때의 상황을 생각해보거라. i에 1이 더해져서 while문이 한 번 더 돌기 전에 if문을 한 번 더 돌아야하지 않겠니
for tc in range(1, int(input())+1):
num = int(input())
c = [0] * 12
for k in range(6):
c[num%10] += 1
num //= 10
i = tri = ruun = 0
while i < 10:
if c[i] >= 3:
c[i] -= 3
tri += 1
continue
if c[i] >= 1 and c[i+1] >= 1 and c[i+2] >= 1:
c[i] -= 1
c[i+1] -= 1
c[i+2] -= 1
ruun += 1
continue
i += 1
if tri + ruun == 2:
print(f'#{tc} 1')
else:
print(f'#{tc} 0')
비록 내가 생각한 것은 아니지만 다시 짜는데 엄청 오래걸렸다.
역시 컴퓨터는 잘못이 없다.
내 잘못이었구나,,ㅎ
Author And Source
이 문제에 관하여([SWEA] 영감탱 가만 안둬 [PYTHON]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sin5015243/SWEA-영감탱-가만-안둬-PYTHON저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)