본문 바로가기
Daily 코딩-Python

[파이썬]백준 10926번 (??!)

by $#spacecoding#$ 2022. 9. 9.

이 문제는 백준 사이트에서 [문제]->[단계별로 풀어보기]->[입출력과 사칙연산]에 있는 10926번 문제이다. 이 문제를 풀기 위해서는 파이썬에서 입력과 출력을 할 때 사용하는 함수들의 사용법을 잘 알고 있다면 쉽게 풀 수 있는 문제이다. 

백준코딩 10926번 문제
백준 10926번 문제

 

 

 

Solution

Version 1

name=input()
if name is not None:
    print(name+"??!")

Version2

name=input()
if name != None:
    print(name+'??!')

 

Explanation

먼저 문제에 제시된대로 첫째줄에 입력값을 받아야 하기 때문에 input() 함수를 사용한다. 출력 값 조건이 입력값과 '??!' 이 같은 줄에 있어야 하기 때문에 print() 함수를 두 줄에 따로 쓰지 않고 한 줄에 써야 한다. 다른 프로그래밍 언어와 다르게 파이썬의 print() 출력 함수는 사용법이 비교적 쉬운 편이다. print()에서는 문자열(string)을 출력할 때는 작은따옴표 ('string' )또는 큰 따옴표 ("string")를 사용하면 된다. 또한 두 가지 다른 것(이 문제에선 name과??! 해당)들을 출력하고자 할 때는 간편하게 플러스(+)를 사용해서 이어주면 된다.  

 

문제의 두 번째 조건을 충족시키기 위해서 if 조건문을 사용하였다. if 조건문의 기본적인 syntax는 아래와 같다. 

if condition1:
	statement1
elif condition2:
	statement2
else:
	statement3

파이썬 if 문의 조건(condition)을 쓴 후에는 콜론(:)을 무조건 써야 한다. syntax를 간단히 설명하자면 condition1이 참(True)이면 statement1을 실행하고, 만약 condition1이 참이 아니면(False) statement 2를 실행하고 condition1 도 condition2도 참이 아닐 경우 statement3을 실행한다. 

 

다시 본론으로 돌아와서, version1처럼 인간친화적 언어인 파이썬의 특징을 이용해 if name is not None(입력한 name이 존재하지 않는 것이 아니라면)을 사용해 조건문을 설정하거나, version 2처럼!=(not equvalent to)의 조건을 사용할 수 있으며 version1,2에 쓰인 두 조건 전부 같은 의미를 지니며 사용자의 취향에 따라 사용하면 된다. 

 

한 가지 주의할 점이 name변수는 input() 함수를 통해서 입력받은 값이므로 기본적으로 문자열(string)에 해당하므로 print() 함수로 출력할 시에는 작은따옴표나 큰 따옴표를 붙이지 않아도 된다. 반면??! 는 name 변수와 같은 데이터 타입(Data type)에 해당해야 오류 없이 출력되기 때문에  '' 혹은 ""를 사용하여 문자열(string)로 변환해주는 과정이 필요하다. 


Conclusion
 

이 문제를 풀이하는 데 있어서 반드시 기억해야 하는 점들을 나열하자면 

  1. if 조건문을 적은 후 colon(:)을 반드시 입력하자
  2. print() 함수로 출력할 때는 Data type을 일치시켜야 한다. 



댓글