6007
다음 경로를 출력하시오.
"C:\Download\'hello'.py"
(단, 따옴표도 함께 출력한다.)
print("\"C:\Download\\\'hello'.py\"")
6008
이번에는 다음과 같은 python프로그램의 소스코드를 출력해보자.
print("Hello\nWorld")
위 코드를 정확히 그대로 출력하시오.(공백문자 주의)
print("print(\"Hello\\nWorld\")")
6019
"연도.월.일"을 입력받아 "일-월-연도" 순서로 바꿔 출력해보자.
y, m, d = input().split(sep='.')
print(d, m, y, sep='-')
6027, 6028
10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
a = input()
n = int(a) #입력된 a를 10진수 값으로 변환해 변수 n에 저장
print('%x'% n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력
print('%X' % n) #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력
6029
16진수를 입력받아 8진수(octal)로 출력해보자.
a = input()
n = int(a, 16) #입력된 a를 16진수로 인식해 변수 n에 저장
print('%o' % n) #n에 저장되어있는 값을 8진수(octal) 형태 문자열로 출력
6030, 6031
영문자 1개를 입력받아 10진수 유니코드(Unicode) 값으로 출력해보자.
10진 정수 1개를 입력받아 유니코드 문자로 출력해보자.
n = ord(input()) #입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.
n = chr(int(input())) #입력받은 정수 값을 유니코드 문자(chracter)로 바꿔 n에 저장한다.
6043
실수 2개(f1, f2)를 입력받아
f1 을 f2 로 나눈 값을 출력해보자. 이 때 소숫점 넷째자리에서 반올림하여 무조건 소숫점 셋째 자리까지 출력한다.
f1, f2=map(float, input().split())
print( format(f1/f2, ".3f") )
6046
정수 1개를 입력받아 2배 곱해 출력해보자.
*2 를 계산한 값을 출력해도 되지만,
정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 <<, >>를 이용할 수 있다.
컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에,
2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>)으로
지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어드는데,
왼쪽 비트시프트(<<)가 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고,
오른쪽 비트시프트(>>)가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고,
가장 오른쪽에 있는 1비트는 사라진다.
** python에서 실수 값에 대한 비트시프트 연산은 허용되지 않고 오류가 발생한다.
(실수 값도 컴퓨터 내부적으로는 2진수 형태로 저장되고 비트시프트 처리가 될 수 있지만, python 에서는 허용하지 않는다.)
n = 10
print(n<<1) #10을 2배 한 값인 20 이 출력된다.
print(n>>1) #10을 반으로 나눈 값인 5 가 출력된다.
print(n<<2) #10을 4배 한 값인 40 이 출력된다.
print(n>>2) #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.
6047
정수 2개(a, b)를 입력받아 a를 2b배 곱한 값으로 출력해보자.
0 <= a <= 10, 0 <= b <= 10
a, b = map(int, input().split())
print(a << b)
+ bool
6056
2개의 정수값이 입력될 때,
그 불 값(True/False) 이 서로 다를 때에만 True 를 출력하는 프로그램을 작성해보자.
a, b = map(int, input().split())
print((not bool(a) and bool(b)) or (bool(a) and not bool(b)))
# if bool(a) != bool(b) : print('True')
# else : print('False')
6059
입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자.
비트단위(bitwise)연산자 ~ 를 붙이면 된다.(~ : tilde, 틸드라고 읽는다.)
** 비트단위(bitwise) 연산자는,
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor),
<<(bitwise left shift), >>(bitwise right shift)
가 있다.
a = int(input())
print(~a)
6060, 6061, 6062
입력된 정수 두 개를 비트단위로 and 연산한 후 그 결과를 정수로 출력해보자.
비트단위(bitwise)연산자 &를 사용하면 된다.(and, ampersand, 앰퍼센드라고 읽는다.)
입력된 정수 두 개를 비트단위로 or 연산한 후 그 결과를 정수로 출력해보자.
비트단위(bitwise) 연산자 |(or, vertical bar, 버티컬바)를 사용하면 된다.
입력된 정수 두 개를 비트단위로 xor 연산한 후 그 결과를 정수로 출력해보자.
비트단위(bitwise) 연산자 ^(xor, circumflex/caret, 서컴플렉스/카릿)를 사용하면 된다.
a, b = map(int, input().split())
print(a & b)
print(a | b)
print(a ^ b)
6081
16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운 영일이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다.
A, B, C, D, E, F 중 하나가 입력될 때, 1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자. (단, A ~ F 까지만 입력된다.)
n = int(input(), 16)
for i in range(1, 16):
print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')
6082
친구들과 함께 3 6 9 게임을 하던 영일이는 잦은 실수 때문에 계속해서 벌칙을 받게 되었다.
3 6 9 게임의 왕이 되기 위한 369 마스터 프로그램을 작성해 보자.
** 369 게임이란
여러 사람이 순서를 정한 후, 순서대로 수를 부르는 게임이다.
만약 3, 6, 9 가 들어간 수를 자신이 불러야 하는 상황이라면, 수를 부르는 대신 "박수(X)" 를 쳐야 한다.
33과 같이 3,6,9가 두 번 들어간 수 일때, "짝짝"과 같이 박수를 두 번 치는 형태도 있다.
n = int(input())
for i in range(1, n+1):
if (i%10) % 3 == 0 and i%10 != 0:
print('X', end=' ')
else :
print(i, end=' ')
6087
1부터 입력한 정수까지 1씩 증가시켜 출력하는 프로그램을 작성하되,
3의 배수인 경우는 출력하지 않도록 만들어보자.
c = 0
n = int(input())
while True :
if c>=n :
break
c += 1
if c%3 == 0:
continue
else :
print(c, end=' ')
# for i in range(1, n+1) :
# if i%2==0 :
# continue #다음 반복 단계로 넘어간다.
# print(i, end=' ') #i가 짝수가 아닐 때만 실행된다.
6088, 6089, 6090
어떤 규칙에 따라 수를 순서대로 나열한 것을 수열(sequences)이라고 한다.
시작 값(a), 등차(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때 n번째 수를 출력하는 프로그램을 만들어보자.
시작 값(a), 등비(r), 몇 번째인지를 나타내는 정수(n)가 입력될 때 n번째 수를 출력하는 프로그램을 만들어보자.
시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때, n번째 수를 출력하는 프로그램을 만들어보자.
a, d, n = map(int, input().split())
for i in range(n):
if i == 0 :
seqNum = a
else :
seqNum += d
print(seqNum)
a, r, n = map(int, input().split())
for i in range(n):
if i == 0 :
seqNum = a
else :
seqNum *= r
print(seqNum)
a, m, d, n = map(int, input().split())
for i in range(n):
if i == 0 :
seqNum = a
else :
seqNum = (seqNum*m)+d
print(seqNum)
6091
같은 날 동시에 가입한 3명의 사람들이 온라인 채점시스템에 들어와 문제를 푸는 날짜가
매우 규칙적이라고 할 때, 다시 모두 함께 문제를 풀게 되는 그날은 언제일까?
a, b, c = map(int, input().split())
d = 1
while d%a!=0 or d%b!=0 or d%c!=0 :
d += 1
print(d)
6092
정보 선생님은 수업을 시작하기 전에 이상한 출석을 부른다.
선생님은 출석부를 보고 번호를 부르는데, 학생들의 얼굴과 이름을 빨리 익히기 위해 번호를 무작위(랜덤)으로 부른다.
그리고 얼굴과 이름이 잘 기억되지 않는 학생들은 번호를 여러 번 불러 이름과 얼굴을 빨리 익히려고 하는 것이다.
출석 번호를 n번 무작위로 불렀을 때, 각 번호(1 ~ 23)가 불린 횟수를 각각 출력해보자.
n = int(input())
randomN = list(map(int, input().split()))
d = [0 for _ in range(23)]
for i in randomN :
d[i-1] += 1
for x in d:
print(x, end=' ')
6095
바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때, n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자.
d = [[0 for j in range(1,20)] for i in range(1,20)]
n = int(input())
for _ in range(n):
x, y = map(int, input().split())
d[x-1][y-1] = 1
for i in range(len(d)):
for j in range(len(d)):
print(d[i][j], end=' ')
print('')
'코딩 어쩌구 > 코딩테스트' 카테고리의 다른 글
[코드업] 6097번 설탕과자 뽑기 (0) | 2021.11.08 |
---|---|
[코드업] 6096번 바둑알 십자 뒤집기 (0) | 2021.11.08 |
[이것이 코딩테스트다] 8. 기타 그래프 이론 (0) | 2021.10.27 |
[이것이 코딩테스트다] 3. DFS/BFS (0) | 2021.10.19 |
자료구조 문제풀이 (0) | 2021.10.05 |