코드업 기초 100제
1012 실수 1개 입력받아 그대로 출력하기
print("%f" % float(input()))
1013 정수 2개 입력받아 그대로 출력하기
a,b = input().split()
print(a, b) # ','를 입력하면 한칸띄고 출력된다
1019 연월일 입력받아 그대로 출력하기
입력 | 출력 |
---|---|
2013.8.5 | 2013.08.05 |
y,m,d= input().split('.')
print('%04d.%02d.%02d' % (int(y),int(m),int(d)))
#%02d: 08 09 10 이런식으로 출력됨/ 포맷스트링 여러개 넣을땐 (a,b,c)
1024 단어 1개 입력받아 나누어 출력하기
입력 | 출력 |
---|---|
Boy | 'B' 'o' 'y' |
for c in input():
print("'"+c+"'")
1034 8진 정수 1개 입력받아 10진수로 출력하기
입력 | 출력 |
---|---|
13 | 11 |
print(int(input(), 8))
1036 영문자 1개 입력받아 10진수로 출력하기
입력 | 출력 |
---|---|
A | 65 |
print(ord(input()))
#ord(문자) : 아스키 코드 반환
#chr(숫자) : 숫자에 맞는 아스키코드 반환
1053 참 거짓 바꾸기
입력 | 출력 |
---|---|
1 | 0 |
print(int(not(bool(int(input())))))
#bool() 논리 판별 내장함수
1092 함께 문제 푸는 날 (최소공배수)
입력 | 출력 |
---|---|
3 7 9 | 63 |
a,b,c = map(int,input().split())
day=1
while day%a!=0 or day%b!=0 or day%c!=0:
day+=1
print(day)
1093 이상한 출석 번호 부르기1
- 첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력된다. (1 ~ 10000)
두 번째 줄에는 무작위로 부른 n개의 번호(1 ~ 23)가 공백을 두고 순서대로 입력된다. - 1번부터 번호가 불린 횟수를 순서대로 공백으로 구분하여 한 줄로 출력한다.
입력 | 출력 |
---|---|
10 1 3 2 2 5 6 7 4 5 9 | 1 2 1 1 2 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
- 배열 이용
num = int(input())
data = list(map(int,input().split()))
array = [0 for _ in range(23)]
for i in data:
array[i-1]+=1
for i in range(23):
print(array[i], end=' ')
- Counter 이용
from collections import Counter
num = int(input())
counter = Counter(list(map(int,input().split()))) # 리스트 원소별 등장횟수 카운트
d={i:0 for i in range(1,24)} # 키 1~23 밸류 0인 딕셔너리 d 생성
d.update(dict(counter)) # counter를 딕셔너리로 변환 후 d에 업데이트
for i in d.values():
print(i, end=' ')
1094 이상한 출석 번호 부르기2
- 입력값 뒤집기
입력 | 출력 |
---|---|
10 10 4 2 3 6 6 7 9 8 5 | 5 8 9 7 6 6 3 2 4 10 |
num = int(input())
data = list(map(int,input().split()))
for i in reversed(data):
print(i, end=' ')
#list.reverse() 반환하지않고 리스트 값 순서 거꾸로
#reversed(list) 거꾸로 된 리스트 반환
1096 바둑판에 흰 돌 놓기
- 바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력된다.
둘째 줄 부터 n+1 번째 줄까지 힌 돌을 놓을 좌표(x, y)가 n줄 입력된다.
n은 10이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이며, 같은 좌표는 입력되지 않는다. - 흰 돌이 올려진 바둑판의 상황을 출력한다.
흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력한다.
입력 | 출력 |
---|---|
5 1 1 2 2 3 3 4 4 5 5 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
num = int(input())
array = [[0]*19 for _ in range(19)] #2차원 배열 초기화
for i in range(num):
x,y = map(int,input().split())
array[x-1][y-1]=1
for i in range(19):
for j in range(19):
print(array[i][j], end=' ')
print()
1097 바둑알 십자 뒤집기
- 바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력된다.
십자 뒤집기 횟수(n)가 입력된다.
십자 뒤집기 좌표가 횟수(n) 만큼 입력된다. 단, n은 10이하의 자연수이다. - 십자 뒤집기 결과를 출력한다.
입력 | 출력 |
---|---|
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 2 10 10 12 12 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
array = [[] for _ in range(19)]
for i in range(19):
array[i] = list(map(int,input().split()))
num = int(input())
for i in range(num):
x,y = map(int,input().split()) # x, y좌표 입력
array[x-1] = [int(not i) for i in array[x-1]] # x축 뒤집기
for j in range(19):
array[j][y-1] = int(not array[j][y-1]) # y축 뒤집기
for i in range(19):
for j in range(19):
print(array[i][j], end=' ')
print()
1098 설탕과자 뽑기
- 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고,
두 번째 줄에 놓을 수 있는 막대의 개수(n)
세 번째 줄부터 각 막대의 길이(l), 방향(d), 좌표(x, y)가 입력된다. - 모든 막대를 놓은 격자판의 상태를 출력한다.
막대에 의해 가려진 경우 1, 아닌 경우 0으로 출력한다.
단, 각 숫자는 공백으로 구분하여 출력한다.
입력 | 출력 |
---|---|
5 5 3 2 0 1 1 3 1 2 3 4 1 2 5 | 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 |
h, w = map(int,input().split())
array = [[0]*w for i in range(h)] #격자판 생성
n = int(input())
for i in range(n): #막대 개수만큼 반복
l,d,x,y = map(int,input().split()) #막대 스펙 입력
for i in range(l): #막대 길이만큼 반복
if d == 0: # 가로 방향
array[x-1][y-1+i]=1
else:
array[x-1+i][y-1]=1
for i in range(h):
for j in range(w):
print(array[i][j], end=' ')
print()
1099 성실한 개미
개미는 오른쪽으로 움직이다가 벽을 만나면 아래쪽으로 움직여 가장 빠른 길로 움직였다. (오른쪽에 길이 나타나면 다시 오른쪽으로 움직인다.)
미로 상자에 넣은 개미는 먹이를 찾았거나, 더 이상 움직일 수 없을 때까지
오른쪽 또는 아래쪽으로만 움직였다.
미로 상자의 구조가 0(갈 수 있는 곳), 1(벽 또는 장애물)로 주어지고,
먹이가 2로 주어질 때, 성실한 개미의 이동 경로를 예상해보자.
단, 맨 아래의 가장 오른쪽에 도착한 경우, 더 이상 움직일 수 없는 경우, 먹이를 찾은 경우에는 더이상 이동하지 않고 그 곳에 머무른다고 가정한다.
미로 상자의 테두리는 모두 벽으로 되어 있으며,
개미집은 반드시 (2, 2)에 존재하기 때문에 개미는 (2, 2)에서 출발한다.
- 10*10 크기의 미로 상자의 구조와 먹이의 위치가 입력된다.
- 성실한 개미가 이동한 경로를 9로 표시해 출력한다.
입력 | 출력 |
---|---|
1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1 2 1 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 9 9 1 0 0 0 0 0 1 1 0 9 1 1 1 0 0 0 1 1 0 9 9 9 9 9 1 0 1 1 0 0 0 0 0 9 1 0 1 1 0 0 0 0 1 9 1 0 1 1 0 0 0 0 1 9 1 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 |
array = [[0]*10 for _ in range(10)]
for i in range(10):
array[i] = list(map(int,input().split()))
x=1
y=1
stun=0 # 못 움직인 횟수
while True:
if(stun==2): break
#개미는 오른쪽 또는 아래로만 가는데 연속 2번 못 움직이면 더 이상 움직일 수 없는 경우
if array[x][y] == 0: # 벽이 없으면 y+1
array[x][y]=9
y+=1
stun=0 # 못 움직인 횟수 초기화
elif array[x][y] == 1: # 벽에 막히면 왼쪽 한칸 후 밑으로 한칸
x+=1
y-=1
stun+=1 # 못 움직인 횟수 증가
else: # 먹이 찾은 경우
array[x][y]=9
break
for i in range(10):
for j in range(10):
print(array[i][j], end=' ')
print()
Author And Source
이 문제에 관하여(코드업 기초 100제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ykwon3357/test-ndjob0fh저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)