sugang
sugang'study
sugang
전체 방문자
오늘
어제
  • 분류 전체보기
    • [OS]
    • [취업정보]
    • [Server]
    • [Algorithm]
    • [Database]
    • [MyTravel]
    • [Network]

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • n

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
sugang

sugang'study

[Algorithm]

hashmap 두 수의 합

2023. 5. 26. 00:53

문제

n개의 정수가 입력으로 주어지고, 이 중 서로 다른 위치에 있는 두 개의 수를 뽑아 더했을 때 k가 되는 가짓수를 구하는 프로그램을 작성해보세요.

입력

5 9

4 6 5 3 7

출력

- 입력으로 주어진 수들 중 서로 다른 위치에 있는 두 개의 수를 골랐을 때 두 수의 합이 k가 되는 가짓수를 출력

2

(4, 5), (6, 3)


코드

n, k = tuple(map(int, input().split()))
arr = list(map(int, input().split()))
count=dict()

#배열을 앞에서부터 순회하며 쌍을 만들어준다. 
for elem in arr:
    diff=k-elem #k 값에서 원소 값을 빼어 쌍을 만들어준다..!

    #차이만큼 존재하는 수 더해 쌍의 수 세어줌 
    if diff in count:
        ans+=count[diff]
    
    #현재 숫자의 개수를 세어준다. 
    if elem in count:
        count[elem]+=1
    else:
        count[elem]=1

print(ans)

'[Algorithm]' 카테고리의 다른 글

[heapq] 정원 입장은 선착순  (0) 2023.12.27
SortedDict  (0) 2023.05.26
백트래킹- 조합 구현  (0) 2023.05.23
시뮬레이션 - 1차원 폭발 게임  (0) 2023.05.14
[탐색] 전략 추려내기 - ABC 줄세우기  (0) 2023.05.10
    '[Algorithm]' 카테고리의 다른 글
    • [heapq] 정원 입장은 선착순
    • SortedDict
    • 백트래킹- 조합 구현
    • 시뮬레이션 - 1차원 폭발 게임
    sugang
    sugang

    티스토리툴바