인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김하경님의 프로필 이미지
김하경

작성한 질문수

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 문자열,리스트,조건문 활용1

python-question2 Exercise 16. 조건문 문제

작성

·

66

0

num1 = int(input())

num2 = int(input())

num3 = int(input())

if num1 > num2 :

if num2 > num3 :

print (num3)

elif num2 < num3 :

print(num2)

else :

print (num1)

 

저는 이렇게 코드를 작성했는데 영상에서 제시해주신 코드와 제 코드 중 어떤 게 더 효율적이라고 볼 수 있을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 김하경님.

질문하신 조건문 작성에 대해 조금 더 효율적인 코드를 찾고 계신 것 같네요. 현재 작성하신 조건문은 세 개의 수 중 두 번째로 작은 숫자를 찾고자 하는 논리로 보입니다. 그러나 이 접근 방법은 두 개의 블록 안에 중복된 조건을 갖고 있어 전체적인 효율성에는 약간의 영향을 미칠 수 있습니다.

보다 효율적인 방법은 간결하면서도 모든 경우의 수를 고려한 논리 구조를 갖추는 것입니다. 따라서 다음과 같은 형태로 코드를 개선할 수 있습니다:

num1 = int(input())
num2 = int(input())
num3 = int(input())

if num1 <= num2 and num1 <= num3:
    print(num1)
elif num2 <= num1 and num2 <= num3:
    print(num2)
else:
    print(num3)

이 형태는 세 수 중 가장 작은 값을 출력하는 코드이며, 모든 경우를 하나의 if-elif-else 블록에서 처리합니다. 이와 같은 구조는 명확하고 가독성이 좋아지는 장점이 있습니다.

김하경님이 작성하신 코드와 비교했을 때, 위 코드가 보다 직접적인 방법이라 볼 수 있습니다. 하지만 작성하신 코드도 주어진 문제에 따라간다고 한다면 잘못된 것은 아닙니다.

다른 수강생의 비슷한 질문과 답변을 통해 추가적인 이해를 돕고자 관련 링크를 제공합니다:

  1. Exercise 16. 조건문 질문: elifelse의 차이에 대한 설명이 들어 있습니다.
  2. 16. 조건문 질문드려요: 조건문의 논리적 오류에 대해 다룬 질문입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김하경님의 프로필 이미지
김하경

작성한 질문수

질문하기