본문 바로가기
Problem Solving/SWEA

[ SWEA ] D3 - 1221, 10912, 4676 - python 문제풀이

by IM조이 2021. 7. 13.

1221 GNS
접근법 : 딕셔너리에서 개수만 불러와서 순서에 맞춰 출력, join 활용

order = ["ZRO","ONE","TWO","THR","FOR","FIV","SIX","SVN","EGT","NIN"]
for _ in range(int(input())):
    d = {"ZRO":0,"ONE":0,"TWO":0,"THR":0,"FOR":0,"FIV":0,"SIX":0,"SVN":0,"EGT":0,"NIN":0}
    tc,n = input().split()
    for num in input().split():
        d[num] +=1
    print(tc)
    for o in order:
        print(" ".join([o]*d[o]),end=" ")
    print()

 

10912 외로운 문자
접근법 : 정렬시켜놓고 idx를 마치 포인터처럼 활용하되 만약 조건을 만족시키지 않으면 포인터 이동시키기

res = []
for tc in range(int(input())):
    s = sorted(list(input()))
    r = ''
    idx = 0
    while idx < len(s):
        if idx == len(s)-1:
            r += s[-1]
        elif s[idx]==s[idx+1]:
            idx += 1
        else:
            r += s[idx]
        idx += 1
    res.append("#{} {}".format(tc+1, "Good" if r == '' else r))
print("\n".join(res))

 

4676 늘어지는 소리 만들기
접근법 : 초기 단어의 인덱스에 '-'만 추가해주되, 맨 앞에 추가해야하는 경우만 따로 고려

r = []
for tc in range(int(input())):
    word = list(input())
    n = int(input())
    idx_list = list(map(int, input().split()))
    for idx in idx_list:
        if idx != 0:
            word[idx-1] += '-'
        else:
            word[0] = '-'+word[0]
    r.append("#{} {}".format(tc+1, ''.join(word)))
print("\n".join(r))

 

댓글