목록분류 전체보기 (310)
가오리의 코딩일기
[98] 설탕과자 뽑기 **서론** 부모님과 함께 유원지에 놀러간 영일이는 설탕과자(설탕을 녹여 물고기 등의 모양을 만든 것) 뽑기를 보게 되었다. 길이가 다른 몇 개의 막대를 바둑판과 같은 격자판에 놓는데, 막대에 있는 설탕과자 이름 아래에 있는 번호를 뽑으면 설탕과자를 가져가는 게임이었다. (잉어, 붕어, 용 등 여러 가지가 적혀있다.) 격자판의 세로(h), 가로(w), 막대의 개수(n), 각 막대의 길이(l), 막대를 놓는 방향(d:가로는 0, 세로는 1)과 막대를 놓는 막대의 가장 왼쪽 또는 위쪽의 위치(x, y)가 주어질 때, 격자판을 채운 막대의 모양을 출력하는 프로그램을 만들어보자. 입력 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고, 두 번째 줄에 놓을 수 있는 막대의 ..
[97] 바둑판에 십자 뒤집기 부모님을 기다리던 영일이는 검정/흰 색 바둑알을 바둑판에 꽉 채워 깔아 놓고 놀다가 "십(+)자 뒤집기를 해볼까?"하고 생각했다. 바둑판(19*19)에 흰 돌(1) 또는 검정 돌(0)이 모두 꽉 채워져 놓여있을 때, n 개의 좌표를 입력받아 십(+)자 뒤집기한 결과를 출력하는 프로그램을 작성해보자. 입력 바둑알이 깔려 있는 상황이 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..
[96] 바둑판에 흰 돌 놓기 영일이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가 "바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다. 바둑판(19*19)에 n개의 흰 돌을 놓는다고 할 때, n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자. 입력 바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력된다. 둘째 줄부터 n+1번째 줄까지 흰 돌을 놓을 좌표(x,y)가 n줄 입력된다. n은 10 이하의 자연수이고, x,y 좌표는 1~19까지이며, 같은 좌표는 입력되지 않는다. 5 1 1 2 2 3 3 4 4 5 5 출력 흰 돌이 올려진 바둑판의 상황을 출력한다. 흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력한다. 1 0 0 0 0 0 0 0 0 0 0 0 0 0..
2차원 배열 : 1차원 배열들의 배열 int array[3][5]; # C int[][] array = new int[3][5]; # JAVA array = [[ 0 for _ in range(5)] for _ in range(3)] # PYTHON - 5개의 공간으로 만들어진 1차원 배열을 3개 만들어라 - C, JAVA_배열, PYTHON_리스트 import numpy array1 = numpy.arange(15).reshape(3,5) array2 = numpy.zeros( (3,5) ) array3 = numpy.ones( (3,5) ) - array1 : 15개의 범위 지정(→0~14까지), 3행 5열로 만들어줘(3*5) - array2 : 15개의 범위 지정(→0~14까지), 0을 알아서 ..
[95] 이상한 출석 번호 부르기3 출석 번호를 n번 무작위로 불렀을 때, 가장 빠른 번호를 출력해 보자. 입력 첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력된다. (1 ~ 10000) 두 번째 줄에는 무작위로 부른 n개의 번호(1 ~ 23)가 공백을 두고 순서대로 입력된다. 10 10 4 2 3 6 6 7 9 8 5 출력 출석을 부른 번호 중에 가장 빠른 번호를 1개만 출력한다. 2 n = int(input()) call = map(int, input().split()) print(min(call))
# 앞에서 사용했던 결과를 가져와서 사용함 -> 재귀함수 사용 num = int(input()) d = [0]*(num+1) for i in range(2, num+1): d[i] = d[i-1]+1 if(i % 3 == 0): d[i] = min(d[i], d[i//3]+1) if(i % 2 == 0): d[i] = min(d[i], d[i//2]+1) print(d[num])
num = int(input()) print(" "*(num-1)*"*") if(n != 1): for i in range(1, num-1): print(" "*(num-i-1)+"*"+" "*(2*i-1)+"*") print("*"*(2*num-1))
num = int(input()) for i in range(1, num+1): print(" "*(num-i)+"* "+"*")
num = int(input()) for i in range(num): print(" "*i+"*"*((num-i)*2-1)) for i in range(num-2, -1, -1): print(" "*i+"*"*((num-i)*2-1))