본문 바로가기

코딩테스트/SWEA

[SWEA] 1221 : GNS (파이썬)

문제

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&contestProbId=AV14jJh6ACYCFAYD&categoryId=AV14jJh6ACYCFAYD&categoryType=CODE&problemTitle=%EB%AC%B8%EC%A0%9C%ED%95%B4%EA%B2%B0&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1

 

SW Expert Academy

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

swexpertacademy.com


코드

from collections import Counter

seq = ["ZRO ", "ONE ", "TWO ", "THR ", "FOR ", "FIV ", "SIX ", "SVN ", "EGT ", "NIN "]

T = int(input())
for t in range(1,T+1):
    _, _ =input().split()
    nums = list(map(str, input().split()))
    nums_c = Counter(nums) # Counter 객체는 Dictionary처럼 [K] 입력시 V(int) 출력됨

    ans = ''
    for s in seq:
        ans += nums_c[s] * (s + " ") # 문자열은 문자열끼리만 연산 가능
    print(f'#{t}')
    print(ans)
  • 문자열을 사용자 정의 자료형으로 리스트화 하기
  • Counter 객체 활용해서 개수 세기
    • Counter(iterable) => Counter 객체는 Dictionary처럼 [K] 입력시 V(int) 출력됨
  • 앞서 만들어 둔 자료형 Counter의 key값으로 활용해서 각 요소 개수 알아내기!

참고한 블로그

https://www.daleseo.com/python-collections-counter/

 

파이썬 collections 모듈의 Counter 사용법

Engineering Blog by Dale Seo

www.daleseo.com

 

https://velog.io/@yunhlim/SWEA-1221.-SW-%EB%AC%B8%EC%A0%9C%ED%95%B4%EA%B2%B0-%EA%B8%B0%EB%B3%B8-5%EC%9D%BC%EC%B0%A8-GNS-D3

 

[SWEA] 1221. [S/W 문제해결 기본] 5일차 - GNS [D3]

SWEA - GNS : 딕셔너리 활용

velog.io