CodeUp 알고리즘 문제 6001번~6031번 문제의 답입니다.
찾는 문제 번호를 Ctrl + F
단축키로 검색을 하시면 더 빠르게 찾을 수 있습니다. (형식: # + 문제번호, 예시: #6001)
문제의 답이 이해가 되지 않는경우 댓글을 남겨주시면 이해를 돕기 위한 답변을 달아드립니다.
제 답이 최선의 정답 코드가 아닐 수도 있습니다. 더 나은 코드가 있다면 댓글로 알려주세요.
Python 기초 100제 다른 번호 문제 풀이 확인하기
# #basic output
#6001
print('Hello')
#6002
print('Hello World')
#6003
print('Hello')
print('World')
#6004
print("'Hello'")
#6005
print('''"Hello World"''')
#6006
print('"!@#$%^&*()\'')
#6007
print('''"C:\\Download\\\'hello'.py"''')
#6008
print('''print("Hello\\nWorld")''')
# #basic input
#6009
print(input())
#6010 #print(input())
print(int(input()))
#6011 #print(input())
print(float(input()))
#6012
a = int(input())
b = int(input())
print(a)
print(b)
#6013
a = input()
b = input()
print('{b}\n{a}'.format(b=b, a=a))
#6014
a = float(input())
for i in range(3):
print(a)
#6015
a, b = input().split()
print('{}\n{}'.format(int(a), int(b)))
#6016
a, b = input().split()
print('{} {}'.format(b, a))
#6017
s = input()
print(s,s,s)
#6018
print(time[0]+':'+time[1])
#6019
date = input().split('.')
date.reverse()
print('-'.join(date))
#6020
print(''.join(input().split('-')))
#6021
s = input()
for i in s:
print(i)
#6022
date = input()
print(date[:2] + ' ' + date[2:4] + ' ' + date[4:])
#6023
date = input().split(':')
print(date[1])
#6024
a, b = input().split()
s = a + b
print(s)
#6025
a, b = input().split()
print('{}'.format(int(a)+int(b)))
#6026
a = float(input())
b = float(input())
print('{}'.format(a + b))
#6027
print('%x'%int(input()))
#6028
print('%x'.upper()%int(input()))
#6029
print('%o'%int(input(), 16))
#6030
print(ord(input()))
#6031
print(chr(int(input())))
주목할 만한 python 문법
1. 값 입력받기 - input()
파이썬에서 값을 입력받을 때는 input() 메서드를 사용하는데 input() 메서드는 입력받은 값을 문자열로 리턴하기 때문에 숫자를 입력받기 위해서는 아래와 같은 형식으로 작성해줘야 한다.
# 정수 입력받기
n = int(input())
# 실수 입력받기
n = float(input())
2. 문자열 포매팅 - % 대입, format(), f-string
파이썬에서 문자열에 변수 값을 출력하는 방법은 다양하다.
2.1. % 대입
% 대입은 문자열에 값을 대입하는 방법인데, c언어에서 값을 포맷하는 방식과 유사하다.
아래는 % 대입을 이용한 간단한 값 출력 예시이다.
#정수형 숫자를 바로 대입
print('ten: %d' %10)
#정수형 변수를 대입
n = 10
print('ten: %d' %n)
2개 이상의 값을 대입할 경우
a = 10
b = 20
print('%d + %d = %d' %(a, b, a+b))
우측 정렬과 공백
a = 10
b = 20
# 우측으로 3자리를 차지하며 남는 부분은 공백으로 채우기
print('%3d + %3d = %3d' %(a, b, a+b))
# 우측으로 3자리를 차지하며 남는 부분은 0으로 채우기
print('%03d + %03d = %03d' %(a, b, a+b))
좌측 정렬과 공백
a = 10
b = 20
# 좌측으로 3자리를 차지하며 남는 부분은 공백으로 채우기
print('%-3d + %-3d = %-3d' %(a, b, a+b))
% 대입에 사용할 수 있는 문자열 포맷 코드는 아래와 같다.
코드 | 설명 |
---|---|
%s | 문자열(string) |
%c | 문자 1개(character) |
%d | 정수(integer) |
%f | 부동소수(floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (문자로서 % 자체를 표현) |
2.2. format() 메서드
format() 메서드는 문자열 안에 변수를 대입하기 편하게 해주는 메서드이다.
아래는 정수형 변수를 대입하는 예시다.
a = 10
b = 20
# 자동 인덱싱, {}안에 인덱스를 입력하지 않을 경우 앞자리부터 0, 1, 2 순서로 자동 인덱싱된다.
print('{} + {} = {}'.format(a, b, a+b))
# 지정 인덱싱, {}안에 인덱스를 입력해 각 위치에 넣을 값 순서를 정해줄 수 있다.
print('{0} + {1} = {2}'.format(a, b, a+b))
print('{1} + {0} = {2}'.format(a, b, a+b))
{0}, {1}과 같은 숫자 인덱싱 방법 대신 {number}, {name}같이 키, 값 방법도 사용할 수 있다.
# {0}, {1}과 같은 숫자 인덱싱 방법 대신 {number}, {name}같이 키, 값 방법도 사용할 수 있다.
print('I have a {number} apples. and my name is {name}'.format(number = 10, name = 'John'))
format() 메서드에서 입력받은 값을 좌, 우, 가운데 정렬하기
# format() 좌측 정렬
print("1{0:<10}2".format("python"))
print("1{:<10}2".format("python"))
# format() 우측 정렬
print("1{0:>10}2".format("python"))
print("1{:>10}2".format("python"))
# format() 가운데 정렬
print("1{0:^10}2".format("python"))
print("1{:^10}2".format("python"))
2.3. f-string
f-string은 python 버전 3.6 이상부터 지원되는 기능이다. Literal String Interpolation(리터럴 문자열 보간) 방법인데, 줄여서 f-string이라고 불린다. format() 메서드와 비교했을 때 간결한 문법으로 가독성도 좋아지는 것을 볼 수 있다.
format() 메서드와 비교해서 정수를 대입할 때
a = 10
b = 20
# f-string을 이용해 값 대입하기
print(f'{a} + {b} + {a+b}')
print(f'{b} + {a} + {a+b}')
f-string을 이용한 정렬
s = 'python'
# f-string 좌측 정렬
print(f'1{s:<10}2')
# f-string 우측 정렬
print(f'1{s:>10}2')
# f-string 가운데 정렬
print(f'1{s:^10}2')
f-string을 이용해 정렬하며 공백 부분에 특정 문자로 채우기
# f-string을 이용해 가운데 정렬하며 공백을 '-'로 채우기
print(f'{s:-^10}')
# f-string을 이용해 좌측 정렬하며 공백을 '!'로 채우기
print(f'{s:!<10}')
# f-string을 이용해 좌측 정렬하며 공백을 '0'로 채우기
print(f'{s:0<10}')
# f-string을 이용해 우측 정렬하며 공백을 '0'로 채우기
print(f'{s:0>10}')
python 기초 예제를 풀어보면서 기본적인 입출력 방법에 대해 알아보았다.
python은 모든 변수들이 객체(object)이기 때문에 다양한 속성(property)과 함수(method)를 갖고 있다. 간단히 설명하자면 'python'은 string객체이다. 따라서 string 객체의 format() 메서드를 사용할 수 있는 것이다.
ex) 'python {}'.format('world')
여기서 python 객체에 관한 개념까지 정리하자면 글이 너무 길어질 것 같아서 다음에 따로 정리해보기로 하겠다.
그래서 앞으로 python으로 알고리즘 문제를 풀 때 다양한 객체의 속성과 함수를 사용해서 문제를 해결할 것이다.
2021.02.26 - [Programming Language/python] - [CodeUp] Python 기초 100제 6032~6045 풀이 해설
2021.02.27 - [Programming Language/python] - [CodeUp] Python 기초 100제 6046~6076 풀이 해설
2021.02.28 - [Programming Language/python] - [CodeUp] Python 기초 100제 6077~6098 풀이 해설