ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [PCCE 모의고사 1] 1번 문제 해설
    알고리즘 이야기/프로그래머스 2022. 11. 2. 09:53

    https://school.programmers.co.kr/learn/courses/15006/lessons/121336

     

    프로그래머스

    코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

    programmers.co.kr

     

    -

     

     [PCCE 모의고사 1] 1번 문제

     

    문제 설명
    초기 코드는 정수 num1과 num2를 합한 값을 출력하는 코드입니다.
    print(num1 + num2)의 출력 결과가 300이 되도록 한 줄을 수정해 보세요.

    (위 코드 에디터의 '▶' 버튼을 눌러 코드를 실행해 보세요! 오른쪽 콘솔창을 통해 코드의 실행 결과를 볼 수 있습니다.)

    -

     

     [PCCE 모의고사 1] 1번 해설

     

     이 문제는 파이썬 산술 연산에 대한 이해를 묻는 문제에요.

     산술 연산(arithmetic operation)이란, 쉽게 말해 더하기(+), 빼기(-), 곱하기(×), 나누기(÷) 같은 것들을 말해요.

     학교에는 사칙 연산으로 배웠죠?

     

     사칙 연산은 파이썬에서 기호가 조금 달라지는데, 곱하기와 나누기가 그래요. 아래의 표를 볼까요?

    학교에서 배운 기호 파이썬의 기호
    + (키보드의 백스페이스 근처)
    - (키보드의 백스페이스 근처)
    × * (키보드의 숫자 8키)
    ÷ / (키보드의 오른쪽 쉬프트키 옆)

    나누기 선생님

     

    이번에는 파이썬 코드로 사칙 연산을 배워 볼게요. 아래의 코드를 실행해 보면 사칙 연산의 결과를 볼 수 있어요.

     

     그런데 파이썬에서는 기본적으로 7개의 산술 연산을 할 줄 알아야 해요. 학교에서 배운 것 말고도 3개나 더 있죠. 너무 많나요? 그래도 초등학교 때 다 배운 개념이라 어렵지 않을 거에요. 이미 알고 있는 것을 기호로 나타낸 것 뿐이니까요. 아래의 표를 볼까요?

     

    학교에서 배운 의미 파이썬의 기호 예시
    제곱 ** (곱하기 기호 두 개) 2**3 = 2의 3제곱 = 2*2*2 = 8
    // (나누기 기호 두 개) 10//3 = 10을 3으로 나눈 몫 = 3
    나머지 % (키보드의 숫자 5키) 10%3 = 10을 3으로 나눈 나머지 = 1

    고파기 선생님

     

     몫과 나머지를 구하는 것은 초등학교 때, 제곱하는 것은 중학교 때 배우잖아요? 그것을 파이썬 기호로 나타낸 것 뿐이에요. 참 쉽죠? 마찬가지로 아래의 코드를 실행해 볼게요.

     

     

     파이썬에서 사용되는 산술 연산에 대해 배워봤으니, 문제로 돌아갈까요?

     

    -

     

     문제에서는 num1이 100, num2가 "200"이에요. 이 둘을 더해서 300을 만들라는 것이죠. 참 쉬워보이죠?

     다만 num2를 잘 쳐다보니 200 그냥 숫자가 아니라 큰 따옴표(")로 묶인 문자열 이네요.

     

     파이썬에서는 문자(글자)를 따옴표(')나 큰 따옴표(")로 묶어서 표현해요. 따옴표로 묶여 있으면 숫자처럼 보여도 문자인 것이죠. 하지만 콘솔창에서 출력된 결과만 보고서는 이게 숫자인지 문자일지 알 수 없어요. 아래 코드의 실행 결과 처럼요.

     

     

     그래서 항상 코드를 잘 살펴봐야돼요. 이 문제가 바로 코드를 잘 살펴보라는 문제죠.

     

     100과 200을 더해서 300을 만드는 것은 더하기(+)로 가능해요. 당연하죠? 하지만 100과 "200"을 더하는 것은 다른 문제에요. 숫자와 문자를 더할 수 있을까요? 안되겠죠. 따라서 문자인 "200"을 숫자 200으로 바꿔주기만 하면 돼요. 따옴표만 없애면 된다는 뜻이죠. 아래의 코드 처럼요

     

     

     숫자와 숫자는 더할 수 있지만 숫자와 문자는 더할 수 없다는 것을 기억하세요!

     

    -

     

     그런데 말입니다,

     숫자와 숫자만 더할 수 있는게 안에요. 문자와 문자도 더할 수 있답니다!

     '잉? 문자와 문자를 어떻게 더하지?' 라고 생각할 수 있어요.

     그래서 파이썬에서는 문자와 문자를 더할 땐 '합친다.' 라고 기억하는게 더 좋아요. 아래의 코드를 볼까요?

     

     

     str1은 'progr', str2는 'ammers'에요. 이 둘을 합치면? 'programmers'가 되겠죠? 코드를 실행해 봐도 str1과 str2가 합쳐져서 출력되는 것을 볼 수 있어요. 그럼 문자들끼리 빼기(-)나 곱하기(*), 나누기(/)도 가능할까요?

     아쉽지만 불가능해요. 더하기는 합친다는 개념과 이어지기 쉽지만.. 나머지 개념들을 문자에 적용하려니 바로 떠오르지 않죠? 그럼 안되는거에요. 안된다 싶으면 안된다고 생각하면 외우지 않아도 떠올리기 쉬워요.

     

    -

     

     그런데 말입니다(2),

     숫자와 문자를 더할 순 없어도 곱할 수는 있어요.

     '잉?! 더하지도 못하는데 곱하기가 된다고?!' 라고 생각할 수 있어요.

     그래서 파이썬에서는 문자와 숫자를 곱할 땐 '뻥튀기 한다.' 라고 기억하는게 좋아요. 물론 전문 용어가 아니에요.

     아래의 코드를 보면 쉽게 이해할 수 있어요.

     

     

     str1은 'programmers', num1은 3이에요. 이 둘을 곱해버리니 'programmers'가 3번 출력돼죠. 3을 곱했기 때문이에요. 문자에 숫자를 곱하면 곱한 수 만큼 뻥튀기 된답니다! 그럴듯하죠?

     문자와 숫자를 곱하는 것은 가능하지만, 문자와 숫자를 나누거나 빼거나 더하는 것은 불가능해요. 안될거 같잖아요? 그럼 안되는 거에요. 참 쉽죠?

     

     문자와 문자를 더해서 합치는 것과

     문자에 숫자를 곱해서 뻥튀기 하는 것은

     파이썬 프로그래밍에서 많이 쓰이는 것이니 꼭 기억하세요! 안녕~

     

    -

     

    네 줄 요약

     

    1. 숫자와 숫자는 산술 연산(7개)할 수 있다.

    2. 숫자와 문자는 더할 수 없다.

    3. 그런데 문자와 문자는 더할 수 있다. (합쳐짐)

    4. 그렇지만 숫자와 문자를 곱할 순 있다. (뻥튀기)

Designed by Tistory.