반응형
첫 투포인터 분류 문제였다.
본격적인 투포인터 들어가기전에 개념을 다지는 문제였다.
투포인터 개념에 대해 검색을 해보다 찾은 유튜브 영상이다
https://www.youtube.com/watch?v=SrMk-EdWRUE
위 영상에서 2번째 문제가 이번 문제와 상황이 같아
그 개념을 토대로 풀었다.
ttl = int(input())
call = sorted(list(map(int,input().split()))) #배열을 오름차순으로 정렬시켜 값 찾기에 용이하게 했다.
std = int(input())
rst = 0
start = 0
end = ttl-1
while start<end: #start이 end보다 작아야 했다. 그래야 둘이 같은 칸에 있을 때 중복으로 더하지 않기 때문이다.
tmp = call[start]+call[end] #임시 합
if tmp>std: #임시 합이 기준보다 클 시, end값을 앞으로 땡김
end-=1
elif tmp<std: #임시 합이 기준보다 작을 시, start값을 앞으로 밂
start+=1
else: #같을 시, rst갱신해주고 start나 end값을 갱신시켜 값을 변화 시켜준다.
rst+=1
start+=1
print(rst)반응형
'알고리즘 문제들 으악 > 백준' 카테고리의 다른 글
| [python]11403번 경로 찾기 (0) | 2023.01.30 |
|---|---|
| [python]6064번 카잉 달력 (0) | 2023.01.29 |
| [python]5525번 IOIOI, IF지옥 (0) | 2023.01.28 |
| [python]1389번 케빈 베이컨 6단계 법칙,BFS와 플로이드 알고리즘 (0) | 2023.01.27 |
| [python]🔥🔥🔥11066번 파일합치기, 그저 어렵다 (0) | 2023.01.25 |