알고리즘 공부를 위해 코드업 사이트(https://codeup.kr/)의 기초 100제를 시작합니다.

블로그에 올라온 모든 코드는 파이썬(Python)으로 작성되어 있습니다.   

 

Python의 기초 100제를 확인하기 위해서는 다음 사이트로 이동하면 됩니다. 

https://codeup.kr/problemsetsol.php?psid=33 

 

문제집 / Python 기초 100제

 

codeup.kr

 

6011 : [기초-입출력] 실수 1개 입력받아 변환하여 출력하기(설명)(py)

숫자(0~9)와 소수점(.)을 사용해 표현한 수를 실수(real number)라고 한다.

변수에 실수값을 저장한 후
변수에 저장되어 있는 값을 그대로 출력해보자.

 

▷ 참고

어떤 값을 1개 입력받아 계산하거나 처리해야하는 경우라면, 입력되는 값이 수인지 문자열인지 구분해야한다.
조금 생각해보면, 키보드로 입력한 9라는 값이 문자 9인지, 정수 9인지, 실수 9.0인지 컴퓨터가 스스로 구분하지 못한다는 것을 알 수 있다.
컴퓨터 내부에서는 2진 체계의 디지털 형태로만 저장할 수 있기 때문에 정수, 문자, 실수 등의 저장 방법이 다르다.
입력한 값을 원하는 형태로 계산하거나 처리하기 위해서는 입력한 값이 어떤 데이터(정수, 문자, 실수, 문자열 등)인지 명확히 구분해 주어야 한다.

 

▷ 해설

이 문제를 풀기 위해서는 Python의 자료형에 대한 이해가 필요하다.

우리가 자주 사용하는 1, 2, 3, -1, -2, 0 등 정수는 코드에서 int형으로 표현이 된다.

문제에서와 같이 소수점을 표현하기 위해서는 float형을 이용하여 입력된 문자의 형을 변환시켜준다.

추가적으로 키보드로 입력받은 입력값은 str형으로 문자열을 저장한 자료형이다.

f = input()
f = float(f)
print(f)

 

6012 : [기초-출력] 출력하기07(py)

줄을 바꿔 정수(integer) 2개를 입력받아 줄을 바꿔 출력해보자.

 

▷ 해설

이번 문제에서는 한 코드에서 두번은 입력을 받으면 쉽게 해결가능한 문제다.

이 문제를 통해서 우리는 한 코드에서 여러번의 input이 가능하다는것을 알 수 있다.

이제는 입력이 필요한 만큼 input문을 통해 사용자에게 입력받는다.

a = input() 
b = input()
print(a)
print(b)

 

6013 : [기초-입출력] 문자 2개 입력받아 순서 바꿔 출력하기1(py)

줄을 바꿔 문자(character) 2개를 입력받고, 순서를 바꿔 한 줄씩 출력해보자.

 

▷ 해설

6012번의 문제는 a와 b를 순서대로 입력하면 차례대로 a와 b를 출력하는 형태였다. 하지만 이번 문제에서는 b를 a보다 먼저 출력하게된다.

이 문제에서는 코드는 기본적으로 위에서 선언이 되어있으면 저장된 순서대로 나오지 않아도 된다는걸 b가 a보다 먼저 출력이 가능한 것을 통해 알 수 있다. 

a = input()
b = input()

print(b)
print(a)

 

6014 : [기초-입출력] 실수 1개 입력받아 3번 출력하기(py)

실수(real number) 1개를 입력받아 줄을 바꿔 3번 출력해보자.

 

 참고
python 코드 사이에 설명(주석)을 작성해 넣고 싶은 경우 샵('#') 기호를 사용하면 된다.
#가 시작된 위치부터 그 줄을 마지막까지는 python 인터프리터에 의해서 실행되지 않는다.
소스코드 부분 부분에 설명, 내용, 표시를 한 줄 설명으로 넣을 경우에 편리하게 사용할 수 있다.
여러 줄로 설명을 넣는 방법도 있다. 스스로 찾아보자!

 

▷ 해설

이번 문제에서는 입력 받은 값을 여러번 출력된다는걸 알려준다.

코드에서는 한 번 변수에 저장된 값을 계속해서 재사용이 가능해진다.

즉, f라는 이름을 가진 0.1이라는 값은 코드가 끝날때 까지 f라는 이름을 가지고 유지된다. 이를 없애거나 변경하기 위해서는 우리가 코드를 통해 접근해 다시 바꾸는 방법만 있다.

 

또한 이번 문제에서는 주석에 대한 이야기도 다루고 있다.

주석은 코드에 대한 설명이다.

지금은 한 두줄의 코드이지만 나중에 코드가 길어지면 주석이 없으면 무슨 일을 수행하는 코드인지 이해하기 어려워질 것이다.

그래서 우리는 주석을 다는 것을 습관화해서 1년 뒤에 다시봐도 이해할 수 있도록 코드에 설명을 넣어준다

샵(#)을 앞에 두고 코드를 작성하게 되면 뒤의 문장이 모두 주석처리가 된다. 이 경우 줄바꿈을 통해 주석의 끝을 확인할 수 있다.

그래서 우리는 """주석""" 또는 '''주석''' 다음과 같이 큰 따옴표(")나 작은 따옴표(') 세 개로 주석의 시작점과 끝점을 알려주는 방식을 이용해 줄바꿈도 포함해서 주석을 다는 방법이있다.

f = input()

#문자열 f를 실수 f로 자료형을 변환
f = float(f) 

"""
0.1을 입력할 경우

0.1
0.1
0.1
다음과 같이 세줄로 출력된다.
"""
print(f)
print(f)
print(f)

 

6015 : [기초-입출력] 정수 2개 입력받아 그대로 출력하기2(설명)(py)

공백을 두고 입력된정수(integer) 2개를 입력받아 줄을 바꿔 출력해보자.

 

 참고
python의 input()은 한 줄 단위로 입력을 받는다.
input().split() 를 사용하면, 공백을 기준으로 입력된 값들을 나누어(split) 자른다.
a, b = 1, 2
를 실행하면, a에는 1 b에는 2가 저장된다.
(주의 : 하지만, 다른 일반적인 프로그래밍언어에서는 이러한 방법을 지원하지 않기 때문에 a=1, b=2 를 한 번에 하나씩 따로 실행시켜야 한다.)

 

▷ 해설

지금까지는 두 입력값을 받기 위해서 input을 두번 사용했지만 이제부터는 split()함수를 이용해 한줄로 입력 받을 수 있다.

split() 함수는 입력된 값을 공백을 기준으로 자르게 된다

.

한줄로 입력된 값을 두 변수에 받기 위해서는 쉼표(,)를 기준으로 두개의 변수를 적어야한다.

이 방법을 통해 지금까지 두줄에 걸쳐서 작성되던 코드가 한줄로 줄어들게 된다. 지금은 한줄만 줄어들었지만 4개의 값을 입력해야할 경우 코드가 3줄 줄어들고 100개의 값을 입력받을 경우 99줄이 줄어들게 된다.

알고리즘에서는 대부분 한줄에 공백을 기준으로 여러값을 입력하므로 이 방법을 익혀둔 다면 유용하게 사용될 것이다. 

a, b = input().split()

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

print(a)
print(b)

 

 

+ Recent posts