Menu
Coddy logo textTech

요약 - 달력 그리드

Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 11번째.

challenge icon

챌린지

중급

세 개의 줄에서 세 개의 정수를 읽습니다: days (한 달의 총 일수, 28에서 31), start_dow (0 = 월요일 … 6 = 일요일, 1일이 시작되는 요일), 그리고 cols (출력할 열의 개수).

달력 그리드를 출력합니다:

  • 요일이 맞을 때까지 첫 번째 행을 -- 항목으로 채웁니다 (앞부분의 빈 칸 하나당 -- 하나)
  • 1부터 days까지 모든 날짜를 두 글자 너비로 출력합니다 (한 자리 숫자 날짜의 경우 앞에 공백을 사용합니다. 예: 1, 10)
  • 한 행의 셀 사이에 단일 공백을 사용합니다
  • (패딩을 포함하여) 매 cols 항목마다 줄바꿈을 합니다

입력 30 / 2 / 7에 대한 출력은 다음과 같습니다:

-- --  1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

직접 해보기

let days = Int(readLine()!)!
let startDow = Int(readLine()!)!
let cols = Int(readLine()!)!

// TODO: 셀의 평면 배열("--" + 날짜 문자열)을 생성한 다음,
// 단일 공백으로 연결된 `cols`개 셀의 행을 출력합니다.

로직 및 흐름의 모든 레슨