inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

완전탐색 (For반복문)

[완전탐색] 1090번 문제 문의

해결된 질문

516

cepe

작성한 질문수 5

1

안녕하세요. 강사님!

완전탐색적방법으로 접근하는 방법을 익히고싶은데 이해하고 있는게 맞는지 궁금해서 질문남겼습니다!

24:10분쪽 내용을 보면서 궁금한 내용이 있습니다!

 

만약에 x축[] 짱구:5, 철수:7 , 맹구:9 일때

문제 조건에 제시된 1 - 1_000_000까지 전체 순회를 하면서

1번 위치일때 짱구: 1 - 5, 철수 : 1 - 7, 맹구: 1 -9

2번 위치일떄 짱구: 2 - 5, 철수 : 2 - 7, 맹구: 2 -9

x[] 원소를 기준으로 쭉 1_000_000까지 모든경우의수를 다구하는게 맞는지 궁금합니다.

 

최적화 아이디어를 하기전 완전탐색적인 방법을 제대로 이해하고있는지 체크하기 위함입니다!

 

감사합니다!

 

 

 

python 코딩-테스트 알고리즘

답변 2

2

코딩 센세

네 맞습니다!

 

처음에 시간이나, 범위를 고민하지 않고 "완전탐색"만 생각하고 코드를 짠다면,

 

1에서 1_000_000 까지 모든 좌표를 기준으로 모든 집과의 거리를 비교해주면 됩니다!

1

cepe

안녕하세요!
다시 궁금증이 생겨서 질문남겼습니다!

"모든 좌표를 기준으로 모든 집과의 거리를 비교해주면 됩니다!" 답변을 해주셨는데요!

 

완전탐색으로 코드를 짠다면

 

n = int(input())

arr = []

number = 1_000_001

mid_result = [] * number

result = [0] * n

for _ in range(n):
    a, b = map(int,input().split())
    arr.append([a,b])

# 모든 좌표의수 다 넣기
for i in range(n):
    min_datas = float('inf')
    a, b = arr[i]
    for x in range(1, number):
        for y in range(1, number):
            dist = abs(a - x) + abs(b - y)
            
            if dist < min_datas:
                min_datas = dist

    result[i] = min_datas

for res in result:
    print(res)
    

이렇게 짜는게 제가 이해한게 맞는지 모르겠습니다 ㅠㅠ

이거는 첫 질문에 대한 코드를 짠겁니다!

그리고 예제에서 (15,14) - 0 <- 값이 어떻게 나온건지 감이 잡히지않습니다 ㅠㅠ

저 코드라면 0이 나올수없을꺼같아서요 ㅠㅠ

 

 

1

코딩 센세

완전탐색적으로 짠다면, 올려주신 코드처럼 짜신게 맞고,

 

반복문을 돌면서, x가 15에 있고 y가 14에 있는 경우에

 

집(15,14) 까지의 최소거리가 0이 됩니다!

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.
완전탐색은 모든 경우의 수를 다 따져보는 방법으로, 제시된 조건에 따라 x축의 원소를 기준으로 1부터 1,000,000까지 전체 순회를 하는 것이 맞습니다.
각 위치마다 짱구, 철수, 맹구의 위치를 표현하고, 조건에 맞는 경우들을 찾아내는 것입니다.
이러한 완전탐색의 방법을 통해 문제를 해결할 수 있지만, 경우의 수가 많아질수록 계산 시간이 오래 걸릴 수 있기 때문에 최적화 아이디어를 고려해보는 것도 좋은 방법입니다.
더 궁금한 점 있으시면 언제든지 질문해주세요. 감사합니다!

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

126

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