inflearn logo
강의

講義

知識共有

世界大会進出者が教えるコーディングテスト A to Z (with Python)

二分探索アルゴリズム [問題解説] : BOJ 3020

boj 3020

解決済みの質問

127

tocc22

投稿した質問数 2

0

안녕하세요 ! 수강전 문제를 풀어보았는데

풀었던 방법이 attributeError 런타임에러가 나왔습니다.

하기 방법에 매몰이 되어서 강의에 집중이 안되어서 이렇게 질문하게 되었습니다 ㅠㅠ

이렇게 풀면 메모리나 시간초과가 날까요? 그리고 어디가 틀려서 런타임에러가 나는지 알수있을까요?

import sys
# sys.stdin = open('./input.txt', 'r')
input = sys.stdin.readlines().strip()

from collections import defaultdict
W, H = map(int, input().split())
lit = [int(input()) for _ in range(W)]
# print(lit)
# dict_ = defaultdict()
ans = defaultdict()
points = []
for y, v in enumerate(lit):
    if y % 2 == 0:
        for x in range(H-v, H):
           points.append((x, y))
    else:
        for x in range(v):
            points.append((x, y))


for x, z in points:
    if x in ans.keys():
        ans[x] += 1
    else:
        ans[x] = 1
# print(ans)
low_cnt = sorted(ans.values())[0]

cnt = 0
for k, a in ans.items():
    if a == low_cnt:
        cnt += 1
print(f'{low_cnt} {cnt}')

python 코딩-테스트 알고리즘

回答 1

1

ally

안녕하세요, tocc22님!

 

AttributeError 런타임에러가 나는 이유

input은 함수이므로, 재설정할 때 input = lambda: sys.stdin.readline().rstrip() 와 같이 작성해주셔야 합니다. 이를 바꾸면 런타임 에러는 해결이 될 것입니다.

 

이렇게 풀면 메모리나 시간초과가 날까요?

코드를 자세히 살펴 보았는데요, 해당 코드는 정확도 측면에서는 맞는 풀이라고 생각이 듭니다. 하지만, 효율성이나 메모리 측면에서는 좀 문제가 있어 보입니다. 이에 대해 제가 바로 설명을 해드릴 수도 있으나, 한 번 tocc22님이 풀이 코드에 대해 시간 복잡도와 사용하는 메모리를 계산해 보시는 것을 추천드립니다!

 

시간 복잡도와 사용하는 메모리 계산을 해서 나온 결과와 과정을 답글로 작성해 주시면, 제가 더 자세하게 답변을 드리겠습니다! 물고기를 잡아주는 것이 아닌 잡는 법을 알려드리는 과정이라고 좋게 생각해주시면 감사하겠습니다 :)

Iterable 관련 설명 중 의문점

1

73

1

DP 알고리즘 index 0 이유?

0

80

2

백준에서 queue.PriorityQueue() 사용 시 런타임에러가 납니다.

0

78

2

(시간 초과) BOJ 1342 관련하여 질문이 있습니다

1

79

2

BFS, DFS

0

105

2

이중연결리스트에 관한 수업 내용도 있을까요?

0

98

1

영상에서 설명이 잘못됐고 자막이 맞는 내용이라고 자막에 표기

0

113

2

최대값 int(1e6, 1e7, 1e8) 기준

0

272

2

섹션 3 BOJ 1342 //= 연산자 관련

0

87

3

라이브러리 사용

0

118

2

2번 구현 방법 질문 있습니다.

0

167

1

브루트 포스 풀이

0

144

2

다익스트라 음수 간선

0

159

1

종료 조건

0

117

2

BOJ 1342 메모리초과 관련

0

123

2

진짜 엄청나네요. 이 가격에 새로운 컨텐츠 추가라니

0

215

1

섹션3 브루트포스 알고리즘 1342 풀이1 질문

0

151

2

강의 내용 중 백트래킹 존재 여부

0

156

1

제가 공부하는 방법이 괜찮은지 궁금합니다

1

261

2

DP 11053관련 질문있습니다.

0

120

1

17609 투포인터 문제를 재귀로 풀 경우가 궁금합니다!

0

138

3

3020번 풀이 코드관련 질문있어요

0

171

2

재귀 관련 문제 관찰할 때 질문

0

197

1

실전 문제풀이 관련 질문

0

118

1