문제풀이/CODE UP

코드업 파이썬 6025~6031번+6042번 문제와 해답(부제: 값변환과 출력변환에 대해서 알아보자/10진수를 16진수로 16진수를 8진수로)

얄루몬 2021. 5. 3. 19:37

진수변환과 문자열을 10진수로 바꾸기 등 값변환과 출력변환에 대해서 알아보자~


6025번

codeup.kr/problem.php?id=6025

 

[기초-값변환] 정수 2개 입력받아 합 계산하기(설명)(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

정수 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번

codeup.kr/problem.php?id=6026

 

[기초-값변환] 실수 2개 입력받아 합 계산하기(설명)(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

실수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.

참고
입력되는 값은 기본적으로 문자열로 인식된다.

숫자로 구성된 문자열이나 정수를 실수(real number) 값으로 바꾸기 위해서는 float( ) 를 사용할 수 있다.
소숫점(.)은 그 위치가 정해져있지 않고 이리저리 둥둥 떠다니므로, floating point라고 부른다.

입력

2개의 실수가 줄을 바꿔 입력된다.

출력

두 실수의 합을 출력한다.

입력 예시   예시 복사

0.1 0.9

출력 예시

1.0

a = input()
b = input()

a = float(a)
b = float(b)

c = a+b

print(c)

6027번(출력변환)

codeup.kr/problem.php?id=6027

 

[기초-출력변환] 10진 정수 입력받아 16진수로 출력하기1(설명)(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

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()

a = int(a) #아무래도 풀이에서는 n 이라는 변수에 10진수를 담는 게 구분을 하기 위함인듯.

print('%x' % a)

6028번(출력변환)

codeup.kr/problem.php?id=6028

 

[기초-출력변환] 10진 정수 입력받아 16진수로 출력하기2(설명)(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

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()

a = int(a) #아무래도 풀이에서는 n 이라는 변수에 10진수를 담는 게 구분을 하기 위함인듯.

print('%X' % a)

6029번

codeup.kr/problem.php?id=6029

 

[기초-값변환] 16진 정수 입력받아 8진수로 출력하기(설명)(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

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()

a = int(a, 16) #16진수라고 인식하여 변수에 저장

print('%o' %a)

6030번

codeup.kr/problem.php?id=6030

 

[기초-값변환] 영문자 1개 입력받아 10진수로 변환하기(설명)(py)

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.  ------ 영문자 1개를 입력받아 10진수 유니코드(Unicode) 값으로 출력해보자. 예시 n = ord(

codeup.kr

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

영문자 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진수로 변환한 값

※ 즉 문자를 10진수로 변환시켜주는 함수 



컴퓨터로 저장되고 처리되는 모든 데이터들은 2진수 형태로 정수화 되어야 하는데,
컴퓨터에 문자를 저장하는 방법으로 아스키코드(ASCII Code)나 유니코드(Unicode)가 자주 사용된다.

예를 들어, 영문 대문자 'A'는 10진수 값 65 로 표현하고, 
2진수(binary digit) 값 1000001 로 바꾸어 컴퓨터 내부에 저장한다. 

유니코드(unicode)는 세계 여러 나라의 문자를 공통된 코드 값으로 저장할 때 사용하는 표준 코드이다.

입력

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

출력

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

입력 예시   예시 복사

A

출력 예시

65

a = ord(input())

print(a)

6031번

codeup.kr/problem.php?id=6031

 

[기초-값변환] 정수 입력받아 유니코드 문자로 변환하기(설명)(py)

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.  ------ 10진 정수 1개를 입력받아 유니코드 문자로 출력해보자. 예시 c = int(input()) pr

codeup.kr

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

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


예시
c = int(input())
print(chr(c))  #c에 저장되어 있는 정수 값을 유니코드 문자(chracter)로 바꿔 출력한다. 


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

예를 들어 123 이 입력 되었다고 한다면, 이건 정수일까? 문자열일까?
조금 생각해보면, 입력된 것만 보고는 그 값이 어떤 데이터인지 알 수 없다는 것을 쉽게 이해할 수 있다.
따라서, 그 입력 값을 어떻게 해석하고 변환할 지에 대해서 명확하게 작성해 주어야 하는 것이다. 

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

입력

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

출력

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

입력 예시   예시 복사

65

출력 예시

A

a = int(input())

print(chr(a))

6042번(값변환)

codeup.kr/problem.php?id=6042

 

[기초-값변환] 실수 1개 입력받아 소숫점이하 자리 변환하기(설명)(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

실수 1개를 입력받아
소숫점 이하 두 번째 자리까지의 정확도로 반올림한 값을 출력해보자.


예시

a=float(input())
print( format(a, ".2f") )


참고
format(수, ".2f") 를 사용하면 원하는 자리까지의 정확도로 반올림 된 실수 값을 만들어 준다. 

여기서 만들어진 값은 소수점 아래 3번째 자리에서 반올림한 값이다.

컴퓨터 프로그래밍에서 실수 변환이나 실수를 사용하는 계산은
정확하게 변환되거나 계산되는 것이 아니라, 거의 모두 근사값으로 계산되는 것이라고 할 수 있다. 

실수가 컴퓨터로 저장되기 위해서는 디지털방식으로 2진 정수화되어 저장되어야 하는데,
그 과정에서 아주 작은 부분이 저장되지 않고 사라지는 잘림(truncation) 오차가 자주 발생하기 때문이다.

입력

실수 1개가 입력된다.
 

출력

소숫점 이하 두 번째 자리까지의 정확도로 반올림한 값을 출력한다. 

입력 예시   예시 복사

3.141592

출력 예시

3.14

a = float(input())

print(format(a, ".2f"))

값변환과 출력변환을 알아 보았다.

 

값변환은 변수에 담겨 있는 값자체의 변환을 주어서 출력하는 반변

출력변환은 출력할 때 여러 함수를 써서 출력문에서 변화시켜준다.