left, right를 사용한 풀이법에 대한 질문입니다
88
작성자 없음
0 asked
n,m=map(int,input().split())
weight=list(map(int, input().split()))
left=0
right=(n-1)
cnt=0
weight.sort()
while left<=right:
weight_sum=weight[left]+weight[right]
if weight_sum>m:
cnt+=1
right-=1
else:
cnt+=1
left+=1
right-=1
print(cnt)안녕하세요 선생님,
이렇게 left, right 포인터를 이용해서 풀어도 예제 문제는 모두 정답이 나오는데 혹시 이렇게 푸는 풀이도 답으로 가능할까요?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
Orego.jin님이 작성하신 코드는 두 포인터 접근법을 사용하여 문제를 해결하고 있으며, 주어진 예제에서 정확한 결과를 주고 있습니다. 두 포인터 알고리즘은 특정 조건을 만족하는 경우를 찾는데 매우 효율적이며, 이진 탐색과 유사한 방식으로 문제를 해결하기 때문에 많은 경우에 유용합니다.
귀하의 코드에서는 배열을 정렬한 후, 가장 작은 값과 가장 큰 값을 비교하여 조건을 만족하지 않을 경우 큰 값을 포기하고, 조건을 만족할 경우 두 값 모두를 이동시키는 방식입니다. 이 방식은 무게 제한을 초과하지 않도록 보장하면서 가능한 많은 쌍을 찾을 수 있는 전략이기 때문에 문제의 의도한 답을 찾아낼 수 있습니다.
기본적으론 좋은 접근법이며, 사용 가능한 풀이로 인정받을 수 있습니다. 다만, 두 포인터 방식 외에도 다른 방법이 있을 수 있으니, 여러 접근법을 시도해보시는 것도 좋을 것 같습니다.
아래는 유사한 질문과 답변에 대한 링크입니다:
- 스택으로 풀어봤는데요
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
0
76
2
스택에서 ')'을 만나는 경우
0
77
3
문제가 어디있나요?
0
63
2
변수 or 함수명
0
60
1
침몰하는 타이타닉 문제 질문입니다
0
53
1
AA.py 책점 에러
0
57
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
111
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
108
1
아나그램 비교 코드
0
115
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
159
2
문제 링크가있나여?
0
147
2
채점기 Time Limit Exceeded 오류 문의
1
162
2
동적계획법은 사용하는 문제
0
124
2
제 코드 좀 봐주세요
0
147
1
예외가 존재할 가능성?
0
96
1
3번이 안풀립니다
0
92
0
5번 틀림
0
112
0
오류원인?
0
97
0
리스트 선언
0
106
1
침몰하는 타이타닉(그리디) 문제 질문
0
109
1
알고리즘
0
65
1
코딩테스트
0
88
1
DFS 순서 질문드립니다.
0
120
2
섹션 9 Dynamic Programming (동적 계획법) 최대부분증가수열
0
113
2

