일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 코드업파이썬
- Python
- nlp
- 파이썬기초100제
- GenerativeAI
- 구글퀵랩
- 자연어처리
- Azure
- 데이터사이언스
- codeup
- 투포인터
- 머신러닝
- TwoPointer
- 빅데이터
- 클라우드
- 리트코드
- Blazor
- C#
- 알고리즘
- Microsoft
- DataScience
- 파이썬알고리즘
- 파이썬
- 생성형AI
- 코드업
- LeetCode
- 파이썬기초
- 코드업100제
- GenAI
- gcp
Archives
- Today
- Total
Tech for good
[파이썬/Python] CodeUp 파이썬 기초 100제 6014 - 6031 본문
6014 : [기초-입출력] 실수 1개 입력받아 3번 출력하기
- 실수(real number) 1개를 입력받아 줄을 바꿔 3번 출력해보자.
입력 예시
0.1
출력 예시
0.1
0.1
0.1
num = input()
print((num + "\n") * 3)
6015 : [기초-입출력] 정수 2개 입력받아 그대로 출력하기2
- 공백을 두고 입력된정수(integer) 2개를 입력받아 줄을 바꿔 출력해보자.
예시
a, b = input().split()
print(a)
print(b)
과 같은 방법으로 두 정수를 입력받아 출력할 수 있다.
참고
python의 input()은 한 줄 단위로 입력을 받는다.
input().split() 를 사용하면, 공백을 기준으로 입력된 값들을 나누어(split) 자른다.
a, b = 1, 2를 실행하면, a에는 1 b에는 2가 저장된다.
(주의 : 하지만, 다른 일반적인 프로그래밍언어에서는 이러한 방법을 지원하지 않기 때문에 a=1, b=2 를 한 번에 하나씩 따로 실행시켜야 한다.)
입력
2개의 정수가 공백으로 구분되어 입력된다.
출력
입력된 두 정수를 줄을 바꿔 출력한다.
입력 예시
1 2
출력 예시
1
2
# 첫번째 방법
a,b = input().split()
print(a)
print(b)
2개의 정수가 공백으로 구분되어 입력된다.
# 두번째 방법
a, b = input().split()
print(a, "\n" + b) # 콤마는 문자열 띄어쓰고 연결, +는 문자열 붙여서 연결
6018 : [기초-입출력] 시간 입력받아 그대로 출력하기
- 24시간 시:분 형식으로 시간이 입력될 때, 그대로 출력하는 연습을 해보자.
예시
a, b = input().split(':')
print(a, b, sep=':')
와 같은 방법으로 가능하다.
참고
input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다.
print(?, ?, sep =':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다.
sep 는 분류기호(seperator)를 의미한다.
입력
시(hour) 분(minute)이 콜론(':')으로 구분되어 한 줄로 입력된다.
출력
입력받은 시간 형식과 똑같이 "시:분" 형태로 출력한다.
입력 예시
3:16
출력 예시
3:16
h,m = input().split(':')
print(h,m, sep=':')
6020 : [기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기
- 주민번호는 다음과 같이 구성된다.
XXXXXX-XXXXXXX
왼쪽 6자리는 생년월일(YYMMDD)이고, 오른쪽 7자리는 성별,출생지역,확인코드로 구성되어있다.
주민번호를 입력받아 형태를 바꿔 출력해보자.
입력
주민번호 앞 6자리와 뒷 7자리가 '-'로 구분되어 입력된다.
(입력값은 가상의 주민번호이다.)
ex)110011-0000000
출력
'-'를 제외한 주민번호 13자리를 모두 붙여 출력한다.
+ 참고
아무것도 없는 공(empty) 문자는 작은 따옴표(') 2개를 붙여서 '' 로 표현한다.
# 첫번째 방법
first, second = input().split('-')
print(first, second, sep='')
# 두번째 방법
num = input()
print(num.replace("-",""))
6021 : [기초-입출력] 단어 1개 입력받아 나누어 출력하기
- 알파벳과 숫자로 이루어진 단어 1개가 입력된다.
입력받은 단어의 각 문자를 한 줄에 한 문자씩 분리해 출력한다.
예시
s = input()
print(s[0])
print(s[1])
입력 예시
Hello
출력 예시
H
e
l
l
o
text = input()
for i in text:
print(i)
6022 : [기초-입출력] 연월일 입력받아 나누어 출력하기
- 6자리의 연월일(YYMMDD)을 입력받아 나누어 출력해보자.
참고
s = input()
print(s[0:2])
를 실행하면 0번째 문자부터 1번째 문자까지 잘라 출력한다.
s[a:b] 라고 하면, s라는 단어에서 a번째 문자부터 b-1번째 문자까지 잘라낸 부분을 의미한다.
다른 자르기 방법도 있다.
입력 예시
200304
출력 예시
20 03 04
yymmdd = input()
print(yymmdd[:2], yymmdd[2:4], yymmdd[4:6], sep=" ")
6023 : [기초-입출력] 시분초 입력받아 분만 출력하기
- 시:분:초 형식으로 시간이 입력될 때 분만 출력해보자.
어떻게 분만 출력해야 할지 주의 깊게 생각해야한다.
입력
시 분 초가
시:분:초 형식으로 입력된다.
출력
분만 출력한다.
입력 예시
17:23:57
출력 예시
23
hh, mm, ss = input().split(':')
print(mm)
6024 : [기초-입출력] 단어 2개 입력받아 이어 붙이기
- 알파벳 문자와 숫자로 이루어진 단어 2개를 입력받아 순서대로 붙여 출력하는 프로그램을 작성해보자.
예시
w1, w2 = input().split()
s = w1 + w2
print(s)
참고
단어는 문자(character)들로 만든다.
문자들로 구성된 문장을 문자열(string)이라고 부른다.
문자열에는 공백문자(' ')가 포함될 수 있는데,
문자 1개는 길이가 1인 문자열이라고 할 수 있고, 공백문자(' ')가 없는 문자열은 단어(word)라고 할 수 있다.
일반적인 문장들은 공백으로 구분된 단어들로 만들어지기 때문에,
공백문자로 구분된 문장에서 단어를 잘라내기 위해서는 공백문자(' ')를 기준으로 자르면 된다.
키보드로 입력되는 것들은 기본적으로 문자열로 인식되고, 문자열끼리 더하기(+)를 실행하면,
두 문자열을 합쳐 연결한(concatenate) 결과를 만들어 낸다.
입력
알파벳과 숫자로 이루어진 2개의 단어가 공백으로 구분되어 입력된다.
출력
입력된 2개의 단어를 순서대로 붙여 출력한다.
입력 예시
hello world
출력 예시
helloworld
alphabet, number = input().split(' ')
letter = alphabet + number
print(letter)
6025 : [기초-값변환] 정수 2개 입력받아 합 계산하기
- 정수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.
예시
a, b = input().split()
c = int(a) + int(b)
print(c)
참고
입력되는 값은 기본적으로 문자열로 인식된다.
문자열 + 문자열은 두 문자열을 합친 문자열을 만든다.
숫자로 구성된 문자열이나 실수를 정수(integer) 값으로 바꾸기 위해서는 int( ) 를 사용할 수 있다.
수 + 수의 결과는 합(addition)이 계산된다.
입력
2개의 정수가 공백으로 구분되어 입력된다.
출력
두 정수의 합을 출력한다.
입력 예시
123 -123
출력 예시
0
a, b = input().split()
c = int(a) + int(b)
print(c)
6026 : [기초-값변환] 실수 2개 입력받아 합 계산하기
- 실수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.
참고
입력되는 값은 기본적으로 문자열로 인식된다.
숫자로 구성된 문자열이나 정수를 실수(real number) 값으로 바꾸기 위해서는 float( ) 를 사용할 수 있다.
소숫점(.)은 그 위치가 정해져있지 않고 이리저리 둥둥 떠다니므로, floating point라고 부른다.
입력
2개의 실수가 줄을 바꿔 입력된다.
출력
두 실수의 합을 출력한다.
입력 예시
0.1 0.9
출력 예시
1.0
a = input()
b = input()
c = float(a) + float(b)
print(c)
6027 : [기초-출력변환] 10진 정수 입력받아 16진수로 출력하기1
- 10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
예시
a = input()
n = int(a) #입력된 a를 10진수 값으로 변환해 변수 n에 저장
print('%x'% n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력
참고
10진수 형태로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.
(%o로 출력하면 8진수(octal) 문자열로 출력된다.)
10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고,
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다.
16진수 a는 10진수의 10, b는 11, c는 12 ... 와 같다.
입력
10진수 1개가 입력된다.
출력
16진수(소문자) 형태로 출력한다.
입력 예시
255
출력 예시
ff
a = input()
n = int(a) # 입력된 a를 10진수 값으로 변환해 변수 n에 저장
print('%x'%n) # n에 저장되어 있는 값을 16진수 소문자 형태 문자열로 출력
## %x로 출력하면 16진수 소문자로 출력
## %o로 출력하면 8진수 문자열로 출력
6028 : [기초-출력변환] 10진 정수 입력받아 16진수로 출력하기2
- 10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
예시
print('%X' % n) #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력
참고
10진수 형태로 입력받고
%X로 출력하면 16진수(hexadecimal)대문자로 출력된다.
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 A B C D E F)의 문자를 사용한다.
16진수 A는 10진수의 10, B는 11, C는 12 ... 와 같다.
입력
10진수 1개가 입력된다.
출력
16진수(대문자) 형태로 출력한다.
입력 예시
255
출력 예시
FF
a = input()
n = int(a)
print('%X'%n)
6029 : [기초-값변환] 16진 정수 입력받아 8진수로 출력하기
- 16진수를 입력받아 8진수(octal)로 출력해보자.
예시
a = input()
n = int(a, 16) #입력된 a를 16진수로 인식해 변수 n에 저장
print('%o' % n) #n에 저장되어있는 값을 8진수(octal) 형태 문자열로 출력
참고
8진법은 한 자리에 8개(0 1 2 3 4 5 6 7)의 문자를 사용한다.
8진수 10은 10진수의 8, 11은 9, 12는 10 ... 와 같다.
입력
16진수 정수 1개가 입력된다.
출력
8진수 형태로 출력한다.
입력 예시
f
출력 예시
17
a = input()
n = int(a, 16) # 입력된 a를 16진수로 인식해 변수 n에 저장
print('%o' % n) # n에 저장되어 있는 값을 8진수(octal) 형태 문자열로 출력
6030 : [기초-값변환] 영문자 1개 입력받아 10진수로 변환하기
- 영문자 1개를 입력받아 10진수 유니코드(Unicode) 값으로 출력해보자.
예시
n = ord(input())
print(n)
참고
n = ord(input()) #입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.
ord( ) 는 어떤 문자의 순서 위치(ordinal position) 값을 의미한다.
실제로 각각의 문자들에는 연속된 정수 값이 순서에 따라 부여 되어 있다. A:65, B:66, C:67 ....
ord(c) : 문자 c 를 10진수로 변환한 값
컴퓨터로 저장되고 처리되는 모든 데이터들은 2진수 형태로 정수화 되어야 하는데,
컴퓨터에 문자를 저장하는 방법으로 아스키코드(ASCII Code)나 유니코드(Unicode)가 자주 사용된다.
예를 들어, 영문 대문자 'A'는 10진수 값 65 로 표현하고,
2진수(binary digit) 값 1000001 로 바꾸어 컴퓨터 내부에 저장한다.
유니코드(unicode)는 세계 여러 나라의 문자를 공통된 코드 값으로 저장할 때 사용하는 표준 코드이다.
입력
유니코드 영문자 1개가 입력된다.
출력
유니코드 값을 10진수로 출력한다.
입력 예시
A
출력 예시
65
n = ord(input()) # 입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.
print(n)
6031 : [기초-값변환] 정수 입력받아 유니코드 문자로 변환하기
10진 정수 1개를 입력받아
유니코드 문자로 출력해보자.
예시
c = int(input())
print(chr(c)) #c에 저장되어 있는 정수 값을 유니코드 문자(chracter)로 바꿔 출력한다.
참고
입력은 기본적으로 모두 문자열로 입력되는 것이라고 할 수 있다.
따라서, 입력 값이 문자/문자열/정수/실수인지에 따라서 먼저 정확하게 변환시킨 다음에 사용하거나 계산하는 것이 좋다.
예를 들어 123 이 입력 되었다고 한다면, 이건 정수일까? 문자열일까?
조금 생각해보면, 입력된 것만 보고는 그 값이 어떤 데이터인지 알 수 없다는 것을 쉽게 이해할 수 있다.
따라서, 그 입력 값을 어떻게 해석하고 변환할 지에 대해서 명확하게 작성해 주어야 하는 것이다.
chr( )는 정수값->문자, ord( )는 문자->정수값 형태로 바꿔주는 서로 반대 방향으로 바꾸어 주는 기능을 한다.
입력
10진 정수 1개(32 ~ 126 범위)가 입력된다.
출력
유니코드 문자로 출력한다.
입력 예시
65
출력 예시
A
c = int(input())
print(chr(c))
출처: CodeUp
https://codeup.kr/problemsetsol.php?psid=33
문제집 / Python 기초 100제
codeup.kr
'IT > Computer Science' 카테고리의 다른 글
[파이썬/Python] CodeUp 파이썬 기초 100제 6046 - 6058 (0) | 2022.02.20 |
---|---|
[파이썬/Python] CodeUp 파이썬 기초 100제 6032- 6045 (0) | 2022.02.13 |
[Blazor & C# 핸즈온] 페이지, 라우팅 및 레이아웃을 사용하여 Blazor 탐색 개선 (0) | 2021.12.29 |
[Blazor & C# 핸즈온] Blazor 웹 앱에서 데이터와 상호작용 (4) | 2021.12.21 |
[Flask] Flask 기초 - API 만들기 (0) | 2021.11.06 |