반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준] 백준 31458번 !!초콜릿 중독 주의!! 파이썬(Python)

1) 문제번호 : 31458

 

2) 문제 출처

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

 

31458번: !!초콜릿 중독 주의!!

첫 번째 줄에는 수식의 개수 $T$가 주어진다. $(1\le T\le 1\, 000)$ 두 번째 줄부터 $T$개의 수식이 한 줄에 하나씩 주어진다. 하나의 수식은 $a$개의 느낌표, 정수 $n$, $b$개의 느낌표가 공백 없이 순서대

www.acmicpc.net

 

2. 풀이

- 여기서, 일단 왼쪽에 느낌표가 있는 경우는 값의 반전이 일어난다.

- 그리고, 오른쪽에 느낌표가 있는 경우에는 몇 개가 있건 정수의 값은 1이 된다.

- 그래서, 먼저 왼쪽 느낌표 개수를 구하고, 정수 값을 구하고, 오른쪽 느낌표 여부를 확인하여 오른쪽 느낌표가 있으면 1로 설정하고, 왼쪽 느낌표 개수만큼 값의 반전을 하면 된다.

 

3. 소스 코드

import sys
input = sys.stdin.readline

T = int(input())

for _ in range(T) : 
    S = input().rstrip()
    
    sign = 0
    lCnt = 0
    N = 0
    
    for num in S : 
        if sign == 0 and num == "!" :
            lCnt += 1
        elif num != "!" : 
            sign = 1
            N = int(num)
        elif sign == 1 and num == "!" : 
            N = 1
    
    if N == 0 : 
        if lCnt % 2 == 0 : 
            N = 0
        else : 
            N = 1
    else : 
        if lCnt % 2 == 0 : 
            N = 1
        else : 
            N = 0
    print(N)

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기