[6092] Q : 출석번호를 n번 무작위로 불렀을때, 1~23번의 각 번호가 불린 횟수를 출력해보자. 첫 줄에는 출석번호를 부른 횟수인 정수 n이 입력된다. 둘째 줄에는 무작위로 부른 n개의 번호(1~23)가 공백을 두고 순서대로 입력된다. 1번부터 번호가 불린 횟수를 순서대로 공백으로 구분하여 한줄로 출력해라
A :numlist에는 그냥 chr 형태로 원소를 넣어주고, 9번 line에 이를 int로 바꿔준다. 혹은 처음부터 numlist = list(map(int,input().split()))으로 넣어줘도 된다. 2번 줄에서 미리 list를 만들어 둘 필요는 없고, 그냥 띄어쓰기로 입력된 chr들은 자동적으로 numlist[0], numlist[1],..에 저장된다.
[6093] Q : 번호를 부른 횟수가 첫 줄에 입력된다. 둘째 줄에는 n개의 랜덤 번호(1~23번)이 공백을 두고 순서대로 입력된다. 부른 번호들을 거꾸로 공백을 두고 출력해라.
A :굳이 4~6번 줄의 과정을 거치지 않더라도, numlist.reverse()를 사용하면 numlist의 원소들이 numlist에 거꾸로 들어간다. 혹은, 4~6번 줄을 생략하고 for i in range(n-1,-1,-1): print(numlist[i])를 하면 numlist[n-1]부터 -1을 해가며 거꾸로 출력할 수 있다.
[6094] Q : 번호를 부른 횟수가 첫 줄에 입력된다. 둘째 줄에는 n개의 랜덤 번호(1~23번)이 공백을 두고 순서대로 입력된다. 출석을 부른 번호 중 가장 빠른 번호를 출력하라.
A :굳이 4~9번 줄의 과정을 거치지 않더라도, print(min(numlist)))만으로 해결 가능하다. 혹은 numlist.sort()를 하면 오름차순으로 numlist가 정렬된다. print(numlist[0])을 하면 가장 작은 값이 출력된다.
[6095] Q : 바둑판에 올려둘 흰 돌의 개수 n이 첫줄에 입력된다. 둘째 줄부터 n+1번째 줄까지 흰 돌을 놓을 좌표(x,y)가 공백을 두고 입력된다. n은 10이하의 자연수, x, y좌표는 1~19까지. 흰 돌이 올려진 바둑판의 상황을 출력해라. 흰 돌이 있는 위치는1, 없는 곳은 0으로 출력해라.
A :2차원 행렬을 만드는 과정이 3~7번 줄. 먼저 각 행에 대해 []을 append해주고, 해당 행의 각 열에 대해 0을 append해준다. 이 문제에서는 입력되는 좌표가 1~19까지이므로 우선 0~19까지 만들어주고, 출력할 때 range(1,20)을 이용해 0열과 0행은 제외하고 출력한다. 16번째 줄은 한 행이 모두 출력되면 줄을 바꾸려고 넣는다. 만약 넣지 않으면 15번 줄에 의해 해당 행이 모두 끝나도 줄을 바꾸는게 아니라 띄어쓰기를 하고 다음 행이 연달아 출력된다. 혹은 4~7번 줄은 board = [[0 for i in range(20)]for j in range(20)] 한 줄로도 만들 수 있다. 그리고 출력할때 0행, 0열을 버리는게 아니라, 처음부터 19*19 행렬을 만들고, 입력받는 좌표를 (x-1,y-1)로 바꾸어 1로 바꾸는 것도 가능하다.
[6096] Q : 19*19의 바둑알이 깔려 있는 상황이 정수값으로 입력된다. 행이 바뀌면 줄이 바뀌고, 같은 행에서는 공백으로 띄어서 수가 입력된다. 그리고 그 다음줄에는 십자뒤집기 횟수(n)이 입력된다. 그럼 그 위치에 있는 돌을 제외하고, 같은 행과 같은 열에 있는 바둑돌의 색이 모두 반대로 바뀐다. 십자뒤집기 결과를 출력해라.
A :1번 줄 대신 board = [[]*19 for i in range(19)]로 빈 2차원 행렬을 만들어 줄 수 있다.
[6097] Q : 첫 줄에 격자판의 세로(h), 가로(w)가 공백을 두고 입력되고, 둘째 줄에 놓을 수 있는 막대의 개수(n), 세번째 줄부터 각 막대의 길이(l), 방향(d), 좌표(x,y)가 입력된다. d는 가로는 0, 세로는 1을 의미한다. (1<=w,h<=100, 1<=n<=10, d=0or1, 1<=x<=100-h, 1<=y<=100-w) 모든 막대를 놓은 격자판의 상태를 출력해라. 막대에 의해 가려진 경우 1, 아닌 경우 0으로 출력해라.
A :2번 line 대신 board = [[0]*w for _ in range(h)]로 하면 한 행 안에 0이 w개인 행벡터 h개가 있는 w행 h열 0벡터가 만들어진다.
[6098] Q : 개미는 개미굴에서 먹이까지 가장 빠른 길로 움직인다. 개미는 먹이를 찾거나 더 이상 움직일 수 없을때까지 오른쪽 또는 아래쪽으로만 움직인다(우선적으로 오른쪽으로 먼저 움직여본다). 미로 상자의 구조가 0(갈 수 있는 곳) 혹은 1(벽)으로 주어지고, 먹이가 2로 주어질 때, 개미의 이동경로를 예상해보자. 미로상자의 테두리는 모두 벽으로 되어있으며, 맨 아래 가장 오른쪽에 도착한 경우, 더 이상 움직일 수 없는 경우, 먹이를 찾은 경우에는 더 이상 이동하지 않고 그 곳에 머무른다. 개미집은 (2,2)에 존재하므로 그 곳에서 출발한다. 10*10크기의 미로 상자의 구조와 먹이의 위치가 입력되면, 개미가 이동한 경로를 9로 표시해 출력해라.
A :멈춰야 하는 상태를 mod=1로 두었다. 3~5번 줄처럼 for j in range(10)을 별도로 넣지 않아도 한 행벡터인 x를 그대로 box의 한 행에 집어넣을 수 있다. 7번처럼 여러 변수를 할당해줄 수 있다.