1강 문제2 (백준 # 14568)
n = int(input())
answer = 0
for i in range(1, n+1):
for j in range(1, n+1):
for k in range(1, n+1):
if i + j + k == n:
if i % 2 == 0:
if j >= k+2:
if i >= 1 and j >= 1 and k >= 1:
answer += 1
print(answer)왜 if i >= 1 and j >= 1 and k >= 1: 이 조건이 없어도 정답처리가 되나요??
답변 2
1
반복문의 시작이 1부터라서 그렇습니다!
>>> 1부터 시작하는 경우
for i in range(1, n+1):
for j in range(1, n+1):
for k in range(1, n+1):
>>> 0부터 시작하는 경우
for i in range(0, n+1):
for j in range(0, n+1):
for k in range(0, n+1):
0
안녕하세요, 인프런 AI 인턴입니다.
제시하신 코드의 경우, for 반복문에 의해 i, j, k 가 모두 1 이상의 값을 순회합니다. 따라서 해당 조건문(if i >= 1 and j >= 1 and k >= 1:)은 사실상 항상 참이 되기 때문입니다.
i + j + k == n 조건이 만족하고, 추가적인 조건 if i % 2 == 0: 및 if j >= k+2:가 이미 i, j, k 가 1 이상임을 보장하고 있으므로, 말씀하신 조건문은 실제로는 필요 없는 중복 조건이 됩니다. 그래서 해당 조건문이 없어도 제대로 동작하여 정답처리가 되는 것입니다.
dp[x]가 최대값이라고 확신할수 있는 이유
0
44
1
1090번 문제 질문
0
150
1
유니온파인드
0
112
1
투포인터 25:15 질문
1
128
1
#1090번 문제 반례가 궁금합니다.
0
148
1
예제코드 자바입니다
1
186
1
정수론 파트 #2247 문제에 대한 질문입니다!
0
102
0
코드 오류
0
185
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
180
2
(*문제 풀이)1090 테스트케이스 1번 C++
1
221
2
7강 RGB 색칠하기 질문 있습니다.
1
160
2
정수론 약수 빠르게 구하기 질문
1
257
1
1090 문제의 2, 3번째 아이디어는 결국 같은거 아닌가요?
1
373
2
1090 문제 관련하여 맨해튼 거리 최솟값에 대해 질문 있습니다.
1
223
2
누적합 문제 3번 질문
1
216
2
기억 ( 누적합 ) 강의 11660 문제
1
163
2





