[Baekjoon] - 2804. 크로스워드 만들기

백준 - 문제 링크

def find_idx(A, B):
    for i in range(len(B)):
        word = A[i]
        c_idx = i # 열 위치가 될 값
        for j in range(len(A)):
            if B[j] == word:
                r_idx = j # 행 위치가 될 값
                return r_idx, c_idx

A, B = input().split()

N = len(B)  # 행의 길이
M = len(A)
r_idx, c_idx = find_idx(A, B)

# 배열에 넣어주기
arr = [['.'] * M for _ in range(N)]
for c in range(M):
    arr[r_idx][c] = A[c]
for r in range(N):
    arr[r][c_idx] = B[r]

for x in range(N):
    for y in range(M):
        print(arr[x][y], end="")
    print()

🔑 함수 구현 없이 그냥 이중 for문에서 바로 idx 꺼내서 재사용 하고 싶었는데 break를 제대로 못 쓴 탓인지 값이 제대로 담기지 않아서 함수로 return했다,,, return이 짱이네...!

백준처럼 값만 출력하는 형식에는 포문을 돌면서 배열에 담긴 값을 꺼내고 end = ""로 줄 바꿈이 일어나지 않게 하고 한 행이 다 출력되고 나면 줄바꿈이 일어나도록 마지막에 print()넣어주기!

2차원 리스트 처음 배울 땐 손도 못대게 어려웠는데 지금도 어렵지만 손은 댈 수 있게 되었다...!🤩🤩

좋은 웹페이지 즐겨찾기