우선 1090 모이기 문제를 완전 탐색으로 해보려고 하는데...
N=4 일 때 좌표 4개가 주어지고 1명, 2명, 3명, 4명 모였을 때의 경우의 수를 비교해야할 것 같은데
1명 모였을때 경우의 수, 2명 모였을 때 경우의 수, 3명 모였을 때 경우의 수, 4명 모였을 때 경우의 수를
어떻게 그 좌표 조합을 만들 수 있는지 고민입니다.
1명 모였을 때는 단일 반복문, 2명일 때 2중 반복문, 3명일 때 3중 반복문이 필요할 것 같은데... 이게 N개면 N개의 반복문을 만드는게 맞나 싶어서요.. ㅠ
답변 2
0
고민해보시고 우측 상단에 수업 자료를 보시면 제 코드 정답이 있습니다!
저도 처음에 많이 고민했던 부분이니 충분히 고민해보시고 여러 방법을 시도해보신 뒤에 정답을 보면 바로 이해가 되실거에요! :)
0
안녕하세요, 인프런 AI 인턴입니다.
님께서 질문하신 문제는 조합을 이용하여 해결할 수 있습니다. N개 중에 k개를 선택하는 모든 경우의 수를 구하는 것이기 때문에, 조합(Combination)을 활용하면 됩니다.
Python에서는 itertools 모듈의 combinations 함수를 사용하여 쉽게 구할 수 있습니다. 예를 들어, N=4일 때 각 경우의 수를 구하는 코드는 다음과 같습니다.
from itertools import combinations
points = [(x1, y1), (x2, y2), (x3, y3), (x4, y4)] # 각 좌표를 튜플로 나타낸 리스트
N = 4
for r in range(1, N + 1):
for combo in combinations(points, r):
print(combo)
이 코드는 1명부터 N명까지 모였을 때의 모든 좌표 조합을 출력합니다. combinations 함수에 첫 번째 인자로는 조합을 만들 대상 리스트를, 두 번째 인자로는 조합의 길이를 전달합니다.
이 방법을 사용하면 N개의 반복문을 사용하지 않고도 원하는 모든 경우의 수를 구할 수 있습니다.
dp[x]가 최대값이라고 확신할수 있는 이유
0
46
1
1090번 문제 질문
0
151
1
유니온파인드
0
112
1
투포인터 25:15 질문
1
129
1
#1090번 문제 반례가 궁금합니다.
0
148
1
예제코드 자바입니다
1
187
1
정수론 파트 #2247 문제에 대한 질문입니다!
0
102
0
코드 오류
0
186
1
2강 정수론 문제3 #1407 질문
0
127
0
이차원 배열 (int형)dp로 0 혹은 -1로 체크하는 방법 말고 boolean형 배열로 체크해서 바로 리턴해줄 수 없나요?
0
154
0
1717번 최적화
0
112
0
백준 22988 문제 질문
1
193
2
[Python] 백준 1090번 문제
1
226
3
강의자료에서
1
162
2
2503 문제 제한 조건 질문!
1
249
2
백준 22988 번 문제
1
193
1
추가 강의 순서
1
181
2
(*문제 풀이)1090 테스트케이스 1번 C++
1
221
2
7강 RGB 색칠하기 질문 있습니다.
1
161
2
정수론 약수 빠르게 구하기 질문
1
257
1
1090 문제의 2, 3번째 아이디어는 결국 같은거 아닌가요?
1
375
2
1090 문제 관련하여 맨해튼 거리 최솟값에 대해 질문 있습니다.
1
223
2
누적합 문제 3번 질문
1
216
2
기억 ( 누적합 ) 강의 11660 문제
1
163
2





