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

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

 

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

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

 

문제집 / Python 기초 100제

 

codeup.kr

 

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

공백을 두고 문자(character) 2개를 입력받아 순서를 바꿔 출력해보자.

 

▷ 참고

print(c2, c1)
와 같은 방법으로 출력하면, c1과 c2에 저장된 값이 공백을 두고 순서가 바뀌어 한 줄로 출력된다.
print( ) 안에서 쉼표(,)를 찍어 순서대로 나열하면, 그 순서대로 공백을 두고 출력된다.

 

▷ 해설

두 문자를 공백으로 입력받는 방법에 이어서 공백으로 출력하는 방식은 쉼표(,)나 +를 이용해서 쉽게 구현 가능하다.

문제에서 순서를 바꿔 출력하길 원하므로 순서를 바꿔 준다. 가끔 알고리즘 문제를 풀다보면 문제를 안읽어 오답처리된 케이스가 많으므로 주의하자.

c1, c2 = input().split()

print(c2, c1)
c1, c2 = input().split()

print(c2 + ' ' + c1)

 

6017 : [기초-입출력] 문장 1개 입력받아 3번 출력하기(설명)(py)

정수(integer), 실수, 문자(character), 문자열(string) 등 1개만 입력받아 한 줄로 3번 출력해보자.

 

▷ 참고

python 언어에서는 문자/정수/실수/문자열 등 특별한 구분이 없이도 원하는 변수에 저장시켜 출력 할 수 있다.
하지만, 저장된 값을 이용해 계산하거나 서로 붙여 연결시키거나 잘라내는 작업을 한다면?
반드시 저장되어있는 값의 종류(문자/정수/실수/문자열 등)를 구분해 주어야 한다.

 

▷ 해설

python의 변수는 알아서 정해진다. 이 부분 때문에 초보자가 접근하기 쉬운 언어이기도 하다.

하지만 input()으로 1을 입력할 경우 우리의 생각과는 달리 python은 이 값을 문자로 저장해서 이부분에서 에러가 발생하므로 주의해야한다.

a = input()

add = a + 10 #에러 발생 a에 입력된 값은 문자이므로 서로 다른 자료형 사이의 연산이 됨

 

a = input()

a = int(a) 

add = a + 10 #위에서 a의 형변환이 이루어져 정상적으로 실행됨

s = input()

print(s, s, s)
s = input()

print(s + ' ' + s + ' ' + s)

 

6018 : [기초-입출력] 시간 입력받아 그대로 출력하기(설명)(py)

24시간 시:분 형식으로 시간이 입력될 때, 그대로 출력하는 연습을 해보자.

 

▷ 참고

input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다.
print(?, ?, sep=':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다.
sep 는 분류기호(seperator)를 의미한다.

 

▷ 해설

이제 split()와 print()에서 공백외에 특정 기준을 지정하는 방법을 배운다.

split의 안에 넣은 문자를 기준으로 값은 분리가 되며 기준이 된 문자는 저장이 안되고 사라지게 된다.

print에서 sep으로 지정된 문자 또한 기존에 쉼표(,)로 구분되어 공백으로 처리하던 부분에 들어가 출력된다. 

h, m = input().split(':')

print(h, m, sep = ':')
h, m = input().split(':')

print(h + ':' + m)

 

6019 : [기초-입출력] 연월일 입력받아 순서 바꿔 출력하기(py)

"연도.월.일"을 입력받아 "일-월-연도" 순서로 바꿔 출력해보자.

 

▷ 참고

y, m, d = input().split('.')
과 같이 변수들을 순서대로 나열하면 구분기호를 기준으로 잘라 순서대로 저장한다.

 

▷ 해설

이번 문제는 6018번과 같이 split에서 특정 문자를 기준으로 자르고, 공백대신 특정 문자를 포함해 출력하는 문제이다

y, m, d = input().split('.')

print(d, m, y, sep='-')
y, m, d = input().split('.')

print(d + '-' + m + '-' + y)

 

6020 : [기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기(py)

주민번호는 다음과 같이 구성된다.
XXXXXX-XXXXXXX

왼쪽 6자리는 생년월일(YYMMDD)이고, 오른쪽 7자리는 성별,출생지역,확인코드로 구성되어있다.
주민번호를 입력받아 '-'를 제외한 주민번호 13자리를 모두 붙여 출력해보자.

 

▷ 해설

이번에는 공백을 없애는 방법에 대해서 알아본다.

주민등록번호에 있는 -를 없애기 위해서는 문자를 주민번호 앞자리와 뒷자리를 -로 구분해서 변수에 저장한다.

변수 두개를 공백을 없애기 위해서 ''를 기준으로 넣으면 공백이 없이 출력이 된다.

또는 +를 이용하여 두 문자열을 붙여서 출력하는 방법도 있다.

ssn1, ssn2 = input().split('-')

print(ssn1, ssn2, sep='')
ssn1, ssn2 = input().split('-')

print(ssn1 + ssn2)

 

+ Recent posts