취뽀 기록

#열심히 살자 #취업 #공부

2차원 배열 8

[코드트리] 순서대로 채우기 > 파스칼의 삼각형

행의 크기가 정수 n으로 주어집니다. 행의 크기가 n인 파스칼 삼각형을 출력하는 프로그램을 작성해보세요. 파스칼 삼각형이란 다음과 같은 형태로 나타나며, (i, j)에 적힌 숫자가 (i - 1, j - 1)에 적힌 숫자와 (i - 1, j)에 적힌 숫자의 합으로 나타납니다. n = 5일때의 예 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 n = int(input()) # 2차원 배열 생성 arr = [[1] * i for i in range(1, n+1)] for i in range(1, n): for j in range(1, i): if i == j: arr[i][j] = 1 arr[i][j] = arr[i-1][j-1] + arr[i-1][j] # 출력 for rows in arr: for ..

[python] 2차원 리스트 사용하기

리스트 2개를 사용하면 2차원 리스트가 된다. 행과 열 개념이라고 생각하면 된다. 2차원 리스트를 생성해보자 a = [[10, 20],[30, 40],[50, 60]] a에 있는 원소를 출력하려면 for i in a: for j in i: print(j) ------------------------------------------- 10 20 30 40 50 60 2개의 리스트를 사용하기 때문에 2개의 for문이 필요하다. 파이썬에서는 이렇게 간략하게 원소 출력도 가능하다. for x, y in a: print(x, y) ---------------------------------------------------------- 10 20 30 40 50 60 이번엔 for문을 이용해서 비어있는 2차원 리스..

[코드트리] 2차원 배열과 패턴 > 격자 반대로 채우기(★)

n x n 크기의 격자에 정수를 채워넣으려고 합니다. 1부터 시작해서 차례대로 n2까지 채워넣는데, 다음 그림과 같이 오른쪽 아래에서 부터 위 아래 지그재그 방향으로 채워넣는 프로그램을 작성해보세요. 해설 알고리즘 # 변수 선언 및 입력 n = int(input()) answer = [ [0 for _ in range(n)] for _ in range(n) ] count = 1 # 격자를 채워줍니다. for col in range(n - 1, -1, -1): if (n - 1 - col) % 2 == 0: # 이 케이스에는 아래에서 위로 값을 채워줍니다. for row in range(n - 1, -1, -1): answer[row][col] = count count += 1 else: # 이 케이스에는..

[python] 2차원 배열과 for문

2차원 배열에서 홀수번째 행에서는 우측으로 이동하며 숫자를 적고, 짝수번째 행에 대해서는 좌측으로 이동하며 숫자를 적는 방법 2차원 배열 생성 홀수 행, 짝수 행에 대해 원소 지정 원소 프린트 n = 4 arr_2d = [ [0 for _ in range(n)] for _ in range(n) ] num = 1 for i in range(n): if i % 2 == 0: for j in range(n): arr_2d[i][j] = num num += 1 else: for j in range(n - 1, -1, -1): arr_2d[i][j] = num num += 1 # 출력 for row in arr_2d: for elem in row: print(elem, end=" ") print()

[코드트리] 새로운 2차원 배열의 선언 > 숫자 직사각형

정수 n과 m의 값을 입력받아 숫자로 이루어진 직사각형을 출력하는 프로그램을 아래 예를 참고하여 작성해보세요. 단, 2차원 배열을 꼭 사용하여 해결해보세요. 예) n에 3을 m에 5를 입력받는 경우 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 풀이 1 n, m = list(map(int, input().split())) # 행의 개수 n, 열의 개수 m 입력 받기 # n, m = tuple(map(int, input().split())) 이렇게 해도 됨 # 2차원 배열 구현 arr_2d = [ [0 for _ in range(m)] for _ in range(n) ] # n * m 크기의 배열에 숫자를 채워 넣기 num = 1 for i in range(n): # n행 for j ..

[python] 2차원 배열 선언과 활용

전부 0으로 초기화된 2차원 배열 만들기(n x n 크기) n = 4 arr_2d = [ [0 for _ in range(n)] for _ in range(n) ] print(arr_2d) >> 출력 결과 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] n x m 크기의 격자 초기화 n, m 위치 유의하기! n, m = 4, 5 arr_2d = [ [0 for _ in range(m)] for _ in range(n) ] print(arr_2d) >> 출력 결과 [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 2차원 배열 출력하기 n = 4 arr_2d = [[1, 2, 3, ..

[코드트리] 2차원 배열 입력 > 대문자로 바꾸기

소문자 알파벳으로 이루어진 5행 3열의 배열이 주어지면 대문자로 바꾸어서 출력하는 프로그램을 작성해보세요. # 2차원 배열을 구현해 각 줄마다 알파벳 소문자를 입력받습니다. arr_2d = [ list(input().split()) for _ in range(5) ] # 알파벳 소문자를 대문자로 바꾸어 출력합니다. for i in range(5): for j in range(3): arr_2d[i][j] = chr(ord(arr_2d[i][j]) + ord('A') - ord('a')) print(arr_2d[i][j], end=" ") print() # 나의 풀이 --------------------------------------- for _ in range(5): arr = list(map(str,..