728x90
반응형
모든 문제는 Python으로 풀이했습니다 ❕
오늘의 문제 4개는 아래와 같습니다 ⤵️
1. 정수를 나선형으로 배치하기
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/181832
⌨️ 작성한 코드 (Python)
def solution(n):
arr = [[0] * n for i in range(n)]
cnt = 1
start_row = 0
end_row = n - 1
start_col = 0
end_col = n - 1
while cnt <= n * n:
for i in range(start_col, end_col + 1):
arr[start_row][i] = cnt
cnt += 1
start_row += 1
for i in range(start_row, end_col + 1):
arr[i][end_col] = cnt
cnt += 1
end_col -= 1
for i in range(end_col, start_col - 1, -1):
arr[end_row][i] = cnt
cnt += 1
end_row -= 1
for i in range(end_row, start_row - 1, -1):
arr[i][start_col] = cnt
cnt += 1
start_col += 1
return arr
2. 특별한 이차원 배열 2
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/181831
⌨️ 작성한 코드 (Python)
def solution(arr):
answer = 1
for i in range(len(arr)):
for j in range(len(arr[i])):
if arr[i][j] != arr[j][i]:
answer = 0
return answer
3. 정사각형으로 만들기
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/181830
⌨️ 작성한 코드 (Python)
def solution(arr):
answer = []
row = len(arr)
col = len(arr[0])
if row > col:
for i in arr:
answer.append(i + [0] * (row - col))
elif row < col:
for _ in range(col - row):
arr.append([0] * col)
answer = arr
else:
answer = arr
return answer
4. 이차원 배열 대각선 순회하기
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/181829
⌨️ 작성한 코드 (Python)
def solution(board, k):
answer = 0
for i in range(min(k + 1, len(board))):
for j in range(min(k + 1 - i, len(board[i]))):
answer += board[i][j]
return answer
코드에 대해 이해 안 가거나
궁금한 내용이 있으신 분은 댓글 남겨주세요!
감사합니다 🤓
728x90
반응형
'CODING TEST > PROGRAMMERS' 카테고리의 다른 글
[코딩테스트 입문] Python 1일차 (두 수의 합, 두 수의 차, 두 수의 곱, 몫 구하기) (1) | 2024.01.06 |
---|---|
[코딩 기초 트레이닝] 프로그래머스 코딩 기초 트레이닝 Python 완료 (1) | 2024.01.06 |
[코딩 기초 트레이닝] Python 24일차 (커피 심부름, 그림 확대, 조건에 맞게 수열 변환하기 3, l로 만들기, 특별한 이차원 배열 1) (0) | 2024.01.06 |
[코딩 기초 트레이닝] Python 23일차 (부분 문자열, 꼬리 문자열, 정수 찾기, 주사위 게임 1, 날짜 비교하기) (2) | 2024.01.05 |
[코딩 기초 트레이닝] Python 22일차 (0 떼기, 두 수의 합, 문자열로 변환, 배열의 원소 삭제하기, 부분 문자열인지 확인하기) (0) | 2024.01.05 |