1035 : [기초-출력변환] 16진 정수 1개 입력받아 8진수로 출력하기(설명)

파이썬에서는 16진수는 0x가 붙기 때문에 입력값에 0x를 붙여줘야 한다. 입력값에 0x를 붙이고 int(변수, 현재진법)의 형식으로 10진수로 변환한 다음 다시 oct()로 8진수로 변환한다. 변환한 값을 다시 문자열로 변환한 후 인덱스 슬라이싱을 이용하여 0o를 빼고 출력한다.

n = input()
n = '0x' + n
n = int(n, 16)
n = oct(n)
n = str(n)
print(n[2:])

 

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

문자를 아스키 코드표의 10진수로 변환하려면 파이썬에서는 ord()함수를 이용한다. 입력받은 값을 ord로 10진수로 변환한 후 출력한다.

a = input()
n = ord(a)
print(n)

 

1037 : [기초-출력변환] 정수 입력받아 아스키 문자로 출력하기(설명)

10진수를 아스키 문자로 변환하려면 파이썬에서는 chr()함수를 사용한다. 입력 받은 값을 chr로 변환한 후 출력한다.

n = int(input())
a = chr(n)
print(a)

 

1038 : [기초-산술연산] 정수 2개 입력받아 합 출력하기1(설명)

map으로 두 입력값을 정수로 입력받고, 입력받은 값들을 더하여 출력한다.

n1, n2 = map(int, input().split())
print(n1+n2)

 

1039 : [기초-산술연산] 정수 2개 입력받아 합 출력하기2(설명)

파이썬에서는 정수 범위의 제한이 없기 때문에 위 코드를 동일하게 사용하면 된다.

n1, n2 = map(int, input().split())
print(n1+n2)

 

1040 : [기초-산술연산] 정수 1개 입력받아 부호 바꿔 출력하기(설명)

정수를 저장한 변수에 -(마이너스)기호를 붙이면 부호가 바뀐다.

n = int(input())
print(-n)

 

1041 : [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기(설명)

아스키 문자는 알파벳 순서대로 배열되어 있어 아스키 코드에 1을 더하면 다음 알파벳이 나온다. 입력받은 문자를 아스키 코드로 변환한 후 1을 더한 후에 다시 문자로 변환하여 출력한다.

a = input()
a = chr(ord(a) +1)
print(a)

 

1042 : [기초-산술연산] 정수 2개 입력받아 나눈 몫 출력하기(설명)

파이썬에서는 //연산자로 몫연산을 진행한다. 나머지는 버리고 몫만 반환한다.

a, b = map(int, input().split())
print(a//b)

 

1043 : [기초-산술연산] 정수 2개 입력받아 나눈 나머지 출력하기(설명)

나머지를 구하는 연산자는 %이다. 입력값을 정수로 입력받아 나머지 연산하여 출력한다.

a, b = map(int, input().split())
print(a%b)

 

1044 : [기초-산술연산] 정수 1개 입력받아 1 더해 출력하기(설명)

입력받은 값에서 1 더한 값을 출력하면된다.

n = int(input())
print(n+1)

 

1045 : [기초-산술연산] 정수 2개 입력받아 자동 계산하기(설명)

두 입력값을 정수로 입력받아 각 줄에 각각 연산한 값을 출력한다. 나눈 값은 실수로 출력되기 때문에 format으로 소숫점 둘째자리 까지 출력할 수 있도록 고정해준다.

n1, n2 = map(int, input().split())
print(n1+n2)
print(n1-n2)
print(n1*n2)
print(n1//n2)
print(n1%n2)
print(format(n1/n2,".2f"))

 

1046 : [기초-산술연산] 정수 3개 입력받아 합과 평균 출력하기(설명)

정수 3개를 입력받고 첫번째 줄에는 합을 출력하고, 두번째 줄에는 평균을 출력한다. 평균은 합에서 3을 나누면 되고, format으로 소숫점 첫째자리 까지 고정하여 출력한다.

n1, n2, n3 = map(int, input().split())
hap = n1 + n2 + n3
print(hap)
print(format(hap/3, ".1f"))

 

1047 : [기초-비트시프트연산] 정수 1개 입력받아 2배 곱해 출력하기(설명)

*2 로 출력해도 되지만, 비트 시프트를 이용할 수 있다. 2진수 형태의 값을 <<(왼쪽)으로 밀면 값이 두 배 증가하고, >>(오른쪽)으로 밀면 값이 반으로 줄어든다. 입력받은 값을 비트시프트를 이용하여 1칸 밀면 2배 곱한 값을 출력할 수 있다.

n = int(input())
print(n<<1)

 

1048 : [기초-비트시프트연산] 한 번에 2의 거듭제곱 배로 출력하기(설명)

왼쪽(<<)으로 밀 때 마다 값이 두번씩 증가하기 때문에 a를 b칸만큼 밀면 된다.

a, b = map(int, input().split())
print(a<<b)

 

1049 : [기초-비교연산] 두 정수 입력받아 비교하기1(설명)

비교 연산자는 왼쪽이 오른쪽보다 크면 > , 작으면 <, 크거나 같으면 >=, 작거나 같으면 <=, 같으면 ==, 다르면 != 을 사용한다. if 조건문을 사용하여 a > b일 경우 1을 출력하고 아니면 0을 출력하면 된다.

a, b = map(int, input().split())

if a > b:
    print(1)
else:
    print(0)

 

1050 : [기초-비교연산] 두 정수 입력받아 비교하기2(설명)

두 정수가 같으면 == 연산자를 이용하여 비교했을 때 참이 나오고, 다르면 != 연산자를 이용하여 비교했을 때 참이 나온다. 이를 활용하여 if 조건문으로 해결할 수 있다.

a, b = map(int, input().split())

if a == b:
    print(1)
else:
    print(0)

 

1051 : [기초-비교연산] 두 정수 입력받아 비교하기3(설명)

크거나 같은지 확인하는 연산자는 >= 이다. if 조건문으로 크거나 같은지 확인하고, 아니라면 else에서 처리하면 된다.

a, b = map(int, input().split())

if b >= a:
    print(1)
else:
    print(0)

 

1052 : [기초-비교연산] 두 정수 입력받아 비교하기4(설명)

두 정수가 다른지 확인하는 연산자는 != 이다. if 조건문으로 다른지 확인하고 아니면 else에서 처리하면 된다.

a, b = map(int, input().split())

if b != a:
    print(1)
else:
    print(0)


1053 : [기초-논리연산] 참 거짓 바꾸기 (설명)

입력값은 둘 중 하나이기 때문에 입력값을 받아서 1이 입력되면 0을 출력하고, 아니면 1을 출력하도록 하면 된다.

a = int(input())

if a == 0:
    print(1)
else:
    print(0)

 

1054 : [기초-논리연산] 둘다 참일 경우만 참 출력하기 (설명)

if 조건문에 조건식을 넣을 때 and 연산자를 사용하면 조건식을 여러 개 넣을 수 있고, and연산자는 and의 왼쪽 식과 오른쪽 식이 모두 참 이여야 참을 반환한다. if 1 and 1: 과 같이 둘 다 참이여야 조건식을 수행한다. 따라서 둘 다 1을 입력 받을 경우 1을 출력하도록 하면 된다.

a, b = map(int,input().split())

if a == 1 and b == 1:
    print(1)
else:
    print(0)

 

1055 : [기초-논리연산] 하나라도 참이면 참 출력하기 (설명)

or 연산자는 둘 중 하나만 참이면 참을 출력한다. 위 코드에서 and 부분만 or로 바꾸면 된다.

a, b = map(int,input().split())

if a == 1 or b == 1:
    print(1)
else:
    print(0)

 

1056 : [기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기 (설명)

입력 될 수 있는 값은 0 과 1 밖에 없으므로 둘이 다르면 1을 출력하고, 같으면 0을 출력한다.

a, b = map(int,input().split())

if a != b:
    print(1)
else:
    print(0)

 

1057 : [기초-논리연산] 참/거짓이 서로 같을 때에만 참 출력하기 (설명)

두 입력값이 서로 같으면 1을 출력하고, 아니면 0을 출력한다.

a, b = map(int,input().split())

if a == b:
    print(1)
else:
    print(0)

 

1058 : [기초-논리연산] 둘 다 거짓일 경우만 참 출력하기 (설명)

and 연산을 이용하여 입력받은 두 값이 모두 0일때 1을 출력한다.

a, b = map(int,input().split())

if a == 0 and b == 0:
    print(1)
else:
    print(0)

 

1059 : [기초-비트단위논리연산] 비트단위로 NOT 하여 출력하기 (설명)

10진수를 2진수로 바꾸면 0과 1의 배열로 표현한다. 이 배열에서 0은 1로, 1은 0으로 바꾸는것을 비트 단위로 NOT한다고 한다. 파이썬에서도 ~연산자를 통해 비트단위 NOT연산을 할 수 있다.

n = int(input())
print(~n)

 

1060 : [기초-비트단위논리연산] 비트단위로 AND 하여 출력하기 (설명)

비트 단위로 AND연산 하는 것은 두 수를 2진수 배열로 바꿨을때 각 자리가 둘다 1인 부분만 1로 하고 나머지는 0으로 만드는 것이다. &연산자를 통해 비트단위 AND연산을 할 수 있다.

a, b = map(int,input().split())
print(a & b)

 

1061 : [기초-비트단위논리연산] 비트단위로 OR 하여 출력하기 (설명)

비트 단위로 or 연산 하는 것은 두 수를 2진 배열로 바꿨을 때 각 자리중 하나만 1이면 1로하고, 둘다 0이면 0으로 만드는 것이다. | 연산자를 통해 비트단위 OR연산을 할 수 있다.

a, b = map(int,input().split())
print(a | b)

 

1062 : [기초-비트단위논리연산] 비트단위로 XOR 하여 출력하기 (설명)

비트 단위로 XOR연산 하는 것은 두 수를 2진 배열로 바꿨을 때 각 자리의 수가 서로 다르면 1로 하고, 같으면 0으로 하는 것이다. ^연산자를 이용하여 비트단위 XOR연산을 할 수 있다.

a, b = map(int,input().split())
print(a ^ b)

 

1063 : [기초-삼항연산] 두 정수 입력받아 큰 수 출력하기 (설명)

파이썬에서는 삼항연산을 다음과 같이 수행한다.

참일때 반환값 if 조건 else 거짓일때 반환값

따라서 정답은 다음과 같다.

a,b = map(int, input().split())
print(a if a > b else b)

 

1064 : [기초-삼항연산] 정수 3개 입력받아 가장 작은 수 출력하기 (설명)

a와 b중 작은 값을 삼항 연산으로 구하는 식을 괄호에 넣어서 괄호를 c와 비교하는 방식으로 삼항 연산을 구성할 수 있다.

a,b,c = map(int, input().split())
print((a if a < b else b) if (a if a < b else b) < c else c)

 

1065 : [기초-조건/선택실행구조] 정수 3개 입력받아 짝수만 출력하기 (설명)

if 조건문을 활용해서 입력받은 각 수가 짝수일 때만 출력하도록 한다. 짝수는 2로 나눴을 때 나머지가 0이면 짝수이다.

a,b,c = map(int, input().split())
if a % 2 == 0:
    print(a)
if b % 2 == 0:
    print(b)
if c % 2 == 0:
    print(c)

 

1066 : [기초-조건/선택실행구조] 정수 3개 입력받아 짝/홀 출력하기 (설명)

각 변수마다 if~else문으로 짝이면 even을 출력하고, 아니면 odd를 출력한다.

a,b,c = map(int, input().split())
if a % 2 == 0:
    print('even')
else:
    print('odd')
if b % 2 == 0:
    print('even')
else:
    print('odd')
if c % 2 == 0:
    print('even')
else:
    print('odd')

 

1067 : [기초-조건/선택실행구조] 정수 1개 입력받아 분석하기 (설명)

if 조건문으로 먼저 입력받은 정수가 양수인지 음수인지 확인하여 출력하고, 그 안에서 다시 if문으로 짝수인지 홀수인지 확인하여 출력한다.

a = int(input())
if a > 0 :
    print('plus')
    if a % 2 == 0:
        print('even')
    else:
        print('odd')
else:
    print('minus')
    if a % 2 == 0:
        print('even')
    else:
        print('odd')

 

1068 : [기초-조건/선택실행구조] 정수 1개 입력받아 평가 출력하기(설명)

if 문으로 입력받은 점수를 비교하여 평가를 출력해야 한다. 문제와 같이 검사해야 할 조건이 많을 때는 if 다음에 elif를 사용하면 if 조건이 거짓일 경우 순차적으로 아래로 내려오며 elif의 조건식을 검사한다.

score = int(input())
if score < 40:
    print('D')
elif score < 70:
    print('C')
elif score < 90:
    print('B')
else:
    print('A')

 

1069 : [기초-조건/선택실행구조] 평가 입력받아 다르게 출력하기(설명)

이 문제도 위와 같이 if~elif~else 문을 사용하여 출력할 수 있다. 입력받은 평가를 비교하면서 그에 맞는 값을 출력하고 나머지 문자들은 else에서 처리한다.

grade = input()

if grade == 'A':
    print('best!!!')
elif grade == 'B':
    print('good!!')
elif grade == 'C':
    print('run!')
elif grade == 'D':
    print('slowly~')
else:
    print('what?')

 

1070 : [기초-조건/선택실행구조] 월 입력받아 계절 출력하기(설명)

월이 입력되면 if 조건식에 or 연산을 이용하여 해당하는 계절을 출력할 수 있다.

month = int(input())

if month == 12 or month == 1 or month == 2:
    print('winter')
elif month == 3 or month == 4 or month == 5:
    print('spring')
elif month == 6 or month == 7 or month == 8:
    print('summer')
else:
    print('fall')

 

1071 : [기초-반복실행구조] 0입력될 때까지 무한 출력하기1(설명)

파이썬에서는 goto문이 없다. 입력 예시를 보니 정수가 한번에 입력되기 때문에 한 변수 x에 입력 받아서 for 반복문으로 반복하며 x의 각 요소들이 0인지 비교하고, 0이 아니면 그 요소를 출력하고, 0이면 반복문을 종료한다.

x = map(int, input().split())

for i in x:
    if i == 0:
        break
    else:
        print(i)

 

1072 : [기초-반복실행구조] 정수 입력받아 계속 출력하기(설명)

입력 받을 정수의 개수를 입력받고, 정수들을 하나의 변수에 입력받는다. 정수들을 입력받은 변수를 for 반복문으로 반복하며 각 요소를 출력한다.

n = int(input())
num = map(int, input().split())
for i in num:
    print(i)

 

1073 : [기초-반복실행구조] 0입력될 때까지 무한 출력하기2(설명)

1071번 문제와 동일하다. 1071번 문제는 goto문을 사용하는것이 문제의 의도인듯 했으나 파이썬에서는 goto는 사용할 수 없어 for 문으로 풀었다. 이 문제도 1071번과 동일한 코드를 사용하겠다.

x = map(int, input().split())

for i in x:
    if i == 0:
        break
    else:
        print(i)

 

1074 : [기초-반복실행구조] 정수 1 개 입력받아 카운트다운 출력하기1(설명)

while문을 이용하여 해결할 수 있다. while 조건식에 입력받은 정수가 0이 될 때 까지 반복 하도록 하고, 입력받은 정수를 출력하고 거기서 1을 빼는 것을 반복한다.

n = int(input())
while n != 0:
    print(n)
    n -= 1

 

1075 : [기초-반복실행구조] 정수 1 개 입력받아 카운트다운 출력하기2(설명)

이번에는 for 반복문을 이용하여 range(입력값, 끝날값, 증가시킬 크기)와 같은 형식으로 반복 실행할 수 있는데 1씩 줄여야 하므로 증가시킬 크기에 -1을 넣으면 된다. 그리고 끝날 값은 실제 출력값보다 1 작게 넣어줘야 한다. 첫번째 출력값도 입력값보다 1 작으므로 입력값 - 1 을 넣어줘야 한다.

n = int(input())

for i in range(n-1, -1, -1):
    print(i)

 

1076 : [기초-반복실행구조] 문자 1 개 입력받아 알파벳 출력하기(설명)

영소문자는 97 부터 시작한다. 입력한 값을 아스키 코드 10진값으로 바꾸고 97 부터 입력값을 바꾼 아스키 코드 값까지 반복하여 chr()로 문자로 출력하면 된다. 공백을 두고 1열로 출력해야하므로  print에 sep = ' '을 설정해줘야 한다.

a = input()
a = ord(a)
for i in range(97, a+1):
    print(chr(i), sep = ' ')

 

1077 : [기초-반복실행구조] 정수 1 개 입력받아 그 수까지 출력하기(설명)

for문으로 0부터 입력받은 수까지 출력할 수 있다. range로 범위 설정을 할때는 출력하려고 하는 수보다 1 크게 설정해야 한다.

n = int(input())
for i in range(0, n+1):
    print(i)

+ Recent posts