Python · 자료형·연습 문제

2차원 리스트 초기화

문제 설명PROBLEM

2차원 리스트 초기화

문제

서로 독립된 0 행을 컴프리헨션으로 만들어 target_row, target_col 위치만 value로 바꿔 반환하세요.

구현할 함수

build_grid(rows, cols, target_row, target_col, value) -> list[list]

입력

JSON 객체 {"rows": 양의 정수, "cols": 양의 정수, "target_row": 유효 인덱스, "target_col": 유효 인덱스, "value": 값}

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

함수 반환값을 공백 없는 JSON 한 개로 출력합니다.

구현 조건

  • [[0] * cols for _ in range(rows)] 형태를 사용하세요.
  • [[0] * cols] * rows 방식은 사용하지 마세요.
  • 지정된 한 칸만 변경하세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
12x3 가운데{"rows":2,"cols":3,"target_row":0,"target_col":1,"value":5}[[0,5,0],[0,0,0]]
21x1{"rows":1,"cols":1,"target_row":0,"target_col":0,"value":9}[[9]]
3마지막 칸{"rows":3,"cols":2,"target_row":2,"target_col":1,"value":"x"}[[0,0],[0,0],[0,"x"]]
개념 노트와 실수 포인트

자료형 (list/tuple/dict/set)

  • list [] 가변, tuple () 불변(원소 1개는 (x,)).
  • [0]*3 == [0,0,0]. ⚠️ 2차원은 [[0]*3 for _ in range(2)] 로 (행 독립).
  • dict: 삽입 순서 유지, d.get(키, 기본값)(없어도 에러 X), update(갱신+추가), keys()/values()/items().
  • ⚠️ set 은 순서 없음, |&-차. 중복 제거.
  • in 으로 포함 확인. *b 언패킹은 나머지를 리스트로.