728x90
반응형
첫번째 코드
투 포인터를 배웠으니까 이용해서 풀어보자!
sorting을 진행하여 오름차순으로 변경
합이 작으면 : 시작 += 1
합이 크면 : 끝 -= 1
합이 같으면: 시작 += 1, 끝 -= 1
라고 생각을 했는데 계속 같은 수가 있으면? 이라는 생각으로 코드를 만들면서 엉켜버렸다...
큰 아이디어는 바뀌지 않고 책을 보면서 코드와 생각 정리하면서 정답을 맞췄다!
import sys
input = sys.stdin.readline
n = int(input())
m = int(input())
number = list(map(int, input().split()))
one = 0
two = n-1
count = 0
sort_number = sorted(number)
while one < two:
sum = sort_number[one] + sort_number[two]
if sum == m:
count += 1
one += 1
two -= 1
elif sum < m:
one += 1
else:
two -= 1
print(count)
통과!
링크
programmers/백준/Silver/1940. 주몽 at main · ornni/programmers
repository for recording Programmers Algorithm problem solving - ornni/programmers
github.com
반응형
'코딩 테스트 > do it! 알고리즘 코딩테스트' 카테고리의 다른 글
009 DNA 비밀번호 (2) | 2024.04.15 |
---|---|
008 좋아 (2) | 2024.04.11 |
006 수들의 합 5 (0) | 2024.04.08 |
005 나머지 합 (0) | 2024.04.08 |
003 구간 합 구하기 4 (0) | 2024.04.04 |