CodeUP | 6028~6036 - Python

crystal·2021년 6월 24일
0

CodeUp

목록 보기
4/7

기초-값변환, 산술연산

6028 [기초-출력변환] 10진 정수 입력받아 16진수로 출력하기2

문제 🧐

10진수를 입력받아 16진수(hexadecimal)로 출력해보자.

입력

10진수 1개가 입력된다.

255

출력

16진수(대문자) 형태로 출력한다.

FF

코드 💻

#내 풀이
n = input()
print('%X'%int(n))

# 모범 답안
a=input()
a=int(a)
print("%X"%a)

⭐ %X로 출력하면 16진수(hexadecimal)대문자로 출력된다. %x로 출력하면 16진수(hexadecimal)소문자로 출력된다.

6029 [기초-값변환] 16진 정수 입력받아 8진수로 출력하기

문제 🧐

16진수를 입력받아 8진수(octal)로 출력해보자.

입력

16진수 정수 1개가 입력된다.

f

출력

8진수 형태로 출력한다.

17

코드 💻

# 내 풀이
a = input()
n = int(a,16)
print('%o'%n)

# 모범 답안
a=input()
a=int(a)
print("%X"%a)

6030 [기초-값변환] 영문자 1개 입력받아 10진수로 변환하기

문제 🧐

영문자 1개를 입력받아 10진수 유니코드(Unicode) 값으로 출력해보자.

입력

유니코드 영문자 1개가 입력된다.

A

출력

유니코드 값을 10진수로 출력한다.

65

코드 💻

# 내 풀이
s = input()
n = ord(s)
print(n)

# 모범 답안
n=input()
n=ord(n)
print(n)

ord(c) : 문자 c 를 10진수로 변환한 값

입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다. ord( ) 는 어떤 문자의 순서 위치(ordinal position) 값을 의미한다. 실제로 각각의 문자들에는 연속된 정수 값이 순서에 따라 부여 되어 있다. A:65, B:66, C:67 ....

6031 [기초-값변환] 정수 입력받아 유니코드 문자로 변환하기

문제 🧐

10진 정수 1개를 입력받아 유니코드 문자로 출력해보자.

입력

10진 정수 1개(32 ~ 126 범위)가 입력된다.

65

출력

유니코드 문자로 출력한다.

A

코드 💻

# 내 풀이
s = int(input())
print(chr(s))

# 모범 답안
c=input()
c=int(c)
print(chr(c))

입력은 기본적으로 모두 문자열로 입력되는 것이라고 할 수 있다.
따라서, 입력 값이 문자/문자열/정수/실수인지에 따라서 먼저 정확하게 변환시킨 다음에 사용하거나 계산하는 것이 좋다.

chr( )정수값->문자, ord( )문자->정수값 형태로 바꿔주는 서로 반대 방향으로 바꾸어 주는 기능을 한다.

6032 [기초-산술연산] 정수 1개 입력받아 부호 바꾸기

문제 🧐

입력된 정수의 부호를 바꿔 출력해보자.

입력

정수 1개가 입력된다.

-1

출력

부호를 바꿔 출력한다.

1

코드 💻

# 내 풀이
n= int(input())
print(-n)

# 모범 답안

참고 : 단항(unary) 연산자-(negative)를 변수 앞에 붙이면 부호가 반대인 값이 된다.

6033 : [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기

문제 🧐

문자 1개를 입력받아 그 다음 문자를 출력해보자.
영문자 'A'의 다음 문자는 'B'이고, 숫자 '0'의 다음 문자는 '1'이다.

입력

문자 1개가 입력된다.

a

출력

그 다음 문자를 출력한다.

b

코드 💻

# 내 풀이
n = input()
n = ord(n)
print(chr(n+1))

# 모범 답안
n1=input()
n2=ord(n1)+1
s=chr(n2)
print(s)

⭐ 아스키문자표에서 'A'는 10진수 65로 저장되고 'B'는 10진수 66으로 저장된다.
따라서, 문자도 값으로 덧셈을 할 수 있다. 어떤 문자의 값에 1을 더하면 그 다음 문자의 값이 된다.

chr( )정수값->문자, ord( )문자->정수값 형태로 바꿔주는 서로 반대 방향으로 바꾸어 주는 기능을 한다.

⭐ 처음에 n으로 받은 문자를 int()로 변환시키려 해서 오류가 났다. ord( ) 쓰기

6034 [기초-산술연산] 정수 2개 입력받아 차 계산하기

문제 🧐

정수 2개(a, b)를 입력받아 a에서 b를 뺀 차를 출력하는 프로그램을 작성해보자.

입력

2개의 정수가 공백으로 구분되어 입력된다.

123 -123

출력

첫 번째 정수에서 두 번째 정수를 뺀 차를 출력한다.

246

코드 💻

# 내 풀이
a,b = input().split(' ')
print(int(a)-int(b))

# 모범 답안
a, b = input().split()
c = int(a)-int(b)
print(c)

⭐ int() argument must be a string, a bytes-like object or a number, not 'list'

int()의 매개변수는 무조건 문자열(bytes-like object 또는 숫자)이어야 한다. 리스트가 와서는 안된다.

6035 [기초-산술연산] 실수 2개 입력받아 곱 계산하기

문제 🧐

실수 2개(f1, f2)를 입력받아 곱을 출력하는 프로그램을 작성해보자.

입력

2개의 실수가 공백으로 구분되어 입력된다.

0.5 2.0

출력

첫 번째 실수와 두 번째 실수를 곱한 값을 출력한다.

1.0

코드 💻

# 내 풀이
f1,f2=input().split()
f1 = float(f1)
f2 = float(f2)
print(f1*f2)

# 모범답안
f1, f2 = input().split()
m = float(f1)*float(f2)
print(m)

6036 [기초-산술연산] 단어 여러 번 출력하기

문제 🧐

단어와 반복 횟수를 입력받아 여러 번 출력해보자.

입력

단어와 반복 횟수가 공백으로 구분되어 입력된다.

love 3

출력

입력된 단어를 입력된 횟수만큼 반복해 출력한다.

lovelovelove

코드 💻

# 내 풀이
word,n=input().split()
print(word*int(n))

# 모범 답안
w, n = input().split()
n=int(n)
print(w*n)

문자열 * 정수 또는 정수 * 문자열그 문자열을 여러 번 반복한 문자열을 만들어 준다.

※ 코드업 링크
https://codeup.kr/problemsetsol.php?psid=33

profile
어제보다 더 나은 오늘의 내가 되자 ✧ʕ̢̣̣̣̣̩̩̩̩·͡˔·ོɁ̡̣̣̣̣̩̩̩̩✧ 

0개의 댓글