인프런 커뮤니티 질문&답변

인프런님의 프로필 이미지
인프런

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

5. 정다면체

질문있습니다!

작성

·

152

0

N, M = map(int, input().split())

my_list = [0 for _ in range(N+M+1)]

for i in range(1,M+1):
    for j in range(1,N+1):
        my_list[i+j] += 1

for i in range(len(my_list)):
    if my_list[i] == max(my_list):
        print(i, end = ' ')

5 6 7

마지막 for문처럼 리스트를 순회하면서 max값과 같은 것을 출력할 때 end = ' ' 로 인해서 마지막 7을 출력하고 공백도 한 칸 출력되는 것 같습니다..

 

 

5 6 7

5 6 7

위에처럼 나와야 정답 같은데 밑에처럼 나오는 코드도 선생님께서 올려주신 테스트케이스는 다 통과 하더라구요.

실제로 코딩테스트에서 이러한 부분이 문제가 되지는 않나요? 아니면 공백없이  5 6 7 만 나오게 하는 다른 방식으로 출력하는게 있나요?

답변 1

0

선생님은 아니지만... 뒤에 공백 없이 문자 사이에만 공백이 들어가게 하고 싶으신 경우에는 join 을 사용해보시면 좋을 것 같습니다! "구분 문자열".join(리스트) 이렇게 사용하시면 됩니다! 

저 같은 경우에는 

k = map(str, [x for x in sum.keys() if sum[x] == value_max])

## 이렇게 int 리스트를 str 리스트로 변경 한다음에

print(" ".join(k))

# 이렇게 사용 했습니다.

 

인프런님의 프로필 이미지
인프런

작성한 질문수

질문하기