[CodeUp 기초 100제] 6065번 풀이 with 파이썬(python)

Jeony·2021년 9월 11일
0

codeup 기초 100제

목록 보기
65/98
post-thumbnail

문제

조건/선택실행구조

3개의 정수(a, b, c)가 입력되었을 때, 짝수만 출력해보자.

예시

a, b, c = input().split()

a = int(a)
b = int(b)
c = int(c)

if a%2==0 :  #논리적으로 한 단위로 처리해야하는 경우 콜론(:)을 찍고, 들여쓰기로 작성 한다.
  print(a)

if b%2==0 :
  print(b) 

if c%2==0 :
  print(c) 

참고

if 조건식 :
  실행1  #조건식의 평가값이 True 인 경우 실행시킬 명령을 들여쓰기를 이용해 순서대로 작성한다.
  실행2
실행3  #들여쓰기를 하지 않은 부분은 조건식에 상관이 없음 

python 에서는 논리적 실행단위인 코드블록(code block)을 표현하기 위해 들여쓰기를 사용한다.
들여쓰기 방법은 탭(tab), 공백(space) 4개 등 여러 가지 방법을 사용할 수 있지만
한 소스코드 내에서 들여쓰기 길이와 방법은 똑같아야 한다.

a%2==0 은 (a%2)가 먼저 계산된 후 그 결과를 정수 0과 비교한 결과값이다.
a를 2로 나눈 나머지가 0, 즉 짝수이면 True 가 되고, 아니면 False 로 계산된다.
따라서,
if a%2==0 : #a가 짝수라면 ...
와 같은 의미가 된다. 짝수가 아니라면 들여쓰기로 작성된 부분들은 실행되지 않는다.

입력 예시

1 2 4

출력 예시

2
4

답안

모델 답안

a, b, c = input().split()

a = int(a)
b = int(b)
c = int(c)

if a%2==0 :
  print(a)

if b%2==0 :
  print(b) 

if c%2==0 :
  print(c)

내 답안

n1, n2, n3 = input().split()
n1, n2, n3 = int(n1), int(n2), int(n3)

if n1 % 2 == 0:
    print(n1)
    
if n2 % 2 == 0:
    print(n2)
    
if n3 % 2 == 0:
    print(n3)

풀이

내 풀이

A를 입력할 수 있도록 input()을 쓰고 값을 1(공백)2(공백)3이렇게 받기 위해 split사용.
a, b, c = input().split()
input()으로 받은 값은 문자열이기 때문에 산술하기 위해 정수형으로 바꾸고 다시 넣어준다.
n1, n2, n3 = int(n1), int(n2), int(n3)
짝수를 흔히 구하는 식은 정수 % 2 == 0이다
%: 나머지를 구하는 연산자.
==: 같은지 같지 않은지 구하는 연산자.
짝수를 생각해보면 2, 4, 6, 8 다 딱 나눠진다. 홀수는 딱 나눠지지않고 나머지 값이 생긴다.
그래서 짝수를 구할 때는 나머지 값이 0이냐고 확인한다.
만약(if) 나머지 값이 0이면 밑에 print() 실행!

if n1 % 2 == 0:
print(n1)
if n2 % 2 == 0:
print(n2)
if n3 % 2 == 0:
print(n3)


input(): 프롬프트를 띄워서 사용자의 입력 받을 수 있게 해준다.
(단, 입력 받은 것은 문자열로 저장된다. print(type()))으로 type() 괄호 안에 변수를 넣고 찍으면 정수인지, 문자열인지, 무슨 타입인지 확일 할 수 있다!)

int(): 위의 input()에서 말했듯이 input으로 받은 값은 문자열로 저장된다.
산술을 하기 위해, 문자열을 정수로 변환시켜주는 int()를 써서 변환시켜준다.

if문: 조건이 True면 밑에 내용 실행!
if 조건식:
(들여쓰기칸) 실행문

만약 조건식이 맞다면, 실행시켜라~

정수 % 2 == 0: 짝수면 False, 홀수면 True.
입력: print(0 % 2 == 0)
출력: True

입력: print(1 % 2 == 0)
출력: False

입력: print(2 % 2 == 0)
출력: True

print(): 괄호 안의 내용을 출력!

profile
알고리즘으로 문제를 해결하다가 포기함

0개의 댓글