logo
Search검색어를 포함하는 게시물들이 최신순으로 표시됩니다.
    Table of Contents
    [Python] 변수 - 연습문제

    이미지 보기

    [Python] 변수 - 연습문제

    • 21.12.31 작성

    • 읽는 데 3

    TOC

    참고 강의

    SWEA 파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법 #5


    문제

    1~9 사이의 정수 a를 입력받아 a + aa + aaa + aaaa 의 값을 계산하는 프로그램을 작성하십시오.


    Sol A

    a = input("1~9 사이의 정수 a를 입력하십시오. : ")
    
    a1 = 1*a
    a2 = 2*a
    a3 = 3*a
    a4 = 4*a
    
    sum = int(a1) + int(a2) + int(a3) + int(a4)
    print(sum)
    

    input() 함수를 이용해 1~9 사이의 정수 a를 입력받는다. 이때 input() 값을 통해 입력된 값의 자료형은 문자열이므로, a는 문자형이다.

    문자형은 곱하면 해당 문자형이 곱한 개수만큼 반복되므로 aa = 2*a, aaa= 3*a 처럼 된다.

    a1 ~ a4 를 더해주기 위해 각각에 int를 씌워 정수형으로 변환한 뒤, 모두 더한 값을 변수 sum에 참조한 뒤, sum을 출력한다.


    Sol B

    a = int(input("1~9 사이의 정수 a를 입력하십시오. : "))
    
    a1 = 1*a
    a2 = 11*a
    a3 = 111*a
    a4 = 1111*a
    
    sum = a1 + a2 + a3 + a4
    print(sum)
    

    int를 4번 씌워주는 과정이 불편하게 느껴졌다. input 값에 int를 씌워 아예 a를 정수형으로 변환했다.

    이렇게 되면 a2 = 11*a, a3 = 111*a 처럼 된다. 이를 모두 더해준 값을 sum에 담은 뒤, print한다.


    Sol C

    a = int(input("1~9 사이의 정수 a를 입력하십시오. : "))
    
    sum = 1234 * a
    print(sum)
    

    이제는 a1 ~ a4 를 더하는 것도 번거롭게 느껴진다. 어차피 모든 한 자리 정수에 대해 a1 + a2 + a3 + a4 = (1 + 11 + 111 + 1111) * a = 1234*a 이므로 그대로 곱해 sum에 넣어 출력한다.


    제출 화면

    image

    Sol C는 전개가 너무 함축적인 것 같아 Sol B로 작성하였다. input() 내의 텍스트는 그냥 생략했고, 깔끔하게 input()으로만 넣었다. 결과는 Pass!

    profile

    FE Developer 박승훈

    노력하는 자는 즐기는 자를 이길 수 없다