https://swexpertacademy.com/main/code/problem/problemDetail.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

swea D2 에서 D3로

백준 브론즈에서 실버로 가면서 점점... 알고리즘 한문제 한문제 시간이 오래 걸리기 시작함...

 


 

T = int(input())

for tc in range(1, T+1):
    text = input()
    t1 = []
    t2 = []
    flag = 1

    for i in text:

        if len(t1) == 0 :
            t1.append(i)
        elif i == t1[0]:
            t1.append(i)
        elif len(t2) == 0:
            t2.append(i)
        elif i == t2[0]:
            t2.append(i)
        else:
            flag = 0
        # print(t1)
        # print(t2)
    if len(t1) != 2 or len(t2) != 2:
        flag = 0
    if flag == 1:
        print('#{} Yes'.format(tc))
    else:
        print('#{} No'.format(tc))

t1, t2라는 이름을 가진 리스트를 2개 생성한 후

입력받은 text의 앞의 문자부터 하나씩 for문을 돌렸다

만약 t1리스트가 비어있다면 t1리스트에 입력이 되고

t1리스트에 어떤 문자가 있다면 그것과 i를 비교해서 같으면 넣고 다르다면 t2리스트로 이동,

t2리스트가 비어있다면 i를 넣고 t2리스트에 문자가 있다면 비교르 한다

그런식으로 for문 위에서 아래로 이동하며 체크 한 뒤 최종적으로 t1과 t2의 길이가 각각 2인경우 Yes출력!

나머지 경우 No를 출력한다!

반응형

+ Recent posts