티스토리 뷰

백준

백준 10816 문제풀이 [python]

ys.k 2023. 7. 29. 02:20

포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.

문제를 보자.

요새 포스팅 빈도가 줄어듦을 확연히 체감한다.

 

분수 모르고 바쁜 탓이다.

 

그래도 짬을 내어 하나라도 남겨본다.

 

코드

import sys as s

n = int(s.stdin.readline())
dict={}

a = list(map(int,s.stdin.readline().split()))

for i in a:
    if i in dict:
        dict[i] += 1
    else:
        dict[i] = 1

m = int(s.stdin.readline())

b = list(map(int,s.stdin.readline().split()))

for j in b:
    if j in dict:
        print(dict[j], end=' ')
    else:
        print(0, end=' ')

처음에는 list를 두 개 생성하고 count  연산자를 사용하여 풀었지만, 시간초과를 받았다.

 

따라서 시간복잡도에 유리한 해쉬테이블을 사용하여 문제를 해결하였다.

 

그래도 사전에 만들어둔 해쉬태그 추출 코드가 있어 포스팅이 수월해졌다.

 

나와 같이 블로그에 포스팅 할 일이 많은 사람이라면, 아래 코드를 수정해 사용해 보길 바란다.

 

https://samron.tistory.com/187

 

블로그 태그 만들기 코드 [python]

솔직히 포스팅하고 매번 태그를 입력하는 게 귀찮아 죽겠다. 어느 정도 고정된 형식을 유지하려고 노력하지만, 사람인지라 가끔 헷갈릴 때도 있고, 여러 가지 상황들이 생긴다. 그래서 문제 번

samron.tistory.com

 

배운 점

1. 해쉬테이블에 key, value를 추가할 때는,  dict[i] = 값 // 형식으로 지정해 주면 된다.

2. in 연산자를 통해 해당 key 값의 유무를 구분할 수 있다.

'백준' 카테고리의 다른 글

백준 1620 문제풀이 [python]  (0) 2023.07.31
백준 1764 문제풀이 [python]  (0) 2023.07.30
백준 7785 문제풀이 [python]  (0) 2023.07.25
백준 14425 문제풀이 [python]  (0) 2023.07.25
백준 10815 문제풀이 [python]  (0) 2023.07.24
댓글