티스토리 뷰
코드카타
2016년
문제
정답
class Solution {
fun solution(a: Int, b: Int): String {
val m = listOf(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
val w = listOf("FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU")
var d = m.slice(0..a - 2).sum() + b - 1
return w[d % 7]
}
}
각 달의 일수와 각 요일의 문자열값을 요소로 가지는 2개의 리스트를 선언한다음,
주어진 수만큼 각 달의 일수를 더한 값을 이용해 해당하는 요일을 출력한다.
val m = listOf(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
val w = listOf("FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU")
m에는 1~12월까지의 각 달의 일수를 요소로 넣는다.
제한 사항에서 2016년 2월은 '윤년'이라 명시되어 있으므로 일수는 29일에 해당한다.
w에는 각 요일의 문자열 값을 요소로 넣는다.
2016년 1월 1일은 금요일부터 시작하므로 해당 배열도 금요일에 해당하는 문자열부터 시작한다.
var d = m.slice(0..a - 2).sum() + b - 1
// 5월 24일이라면 > a = 5, b = 24
// d = (31 + 28 + 31 + 30) + (24) - 1 = 144
주어진 날짜가 무슨 요일인지 구하기 위해 1월 1일 부터 주어진 날까지의 총 일수를 구한다.
1월 1일을 기준으로 하므로 마지막으로 1을 빼줘야 한다.
return w[d % 7]
일주일은 7일에 해당하므로 총 일수를 7로 나눈 나머지를 구한다.
이 연산에서 일수는 요일을 구하기 위한 값으로 변환되고
결과적으로 w[d % 7]는 계산된 요일을 반환한다.
앱 개발 용어정리 1
IDE
IDE란 소프트웨어 개발을 위한 통합 개발 환경을 의미한다.
IDE는 다양한 도구와 기능을 하나의 애플리케이션에서 제공한다.
주요 구성요소에는 소스 코드 편집기, 컴파일러, 디버거, 빌드 자동화 도구,
버전 관리 시스템, 프로젝트 및 파일 관리 기능이 있다.
컨벤션
컨벤션은 소프트웨어 개발에서 코드 작성, 구성 및 관리에 대한 규칙이나 표준을 의미한다.
컨벤션은 개발팀 내 또는 전체 커뮤니티에서 합의한 방식에 해당하며,
이는 코드의 가독성을 높이고 유지보수성을 개선하며 협업을 원활하게 하는데 도움을 준다.
자료형
자료형은 변수나 상수에 저장할 수 있는 값의 종류와
그에 대한 연산을 정의하는 개념이다.
자료형의 종류에는 기본 자료형, 복합 자료형, 사용자 정의 자료형이 있다.
변수와 상수
변수는 값이 변할 수 있는 데이터를 저장할 때 사용하고,
상수는 값이 변하지 않는 데이터를 저장할 때 사용한다.
코틀린에서 가변형 변수는 var, 상수는 val로 선언한다.
메서드
메서드(method)는 객체 지향 프로그래밍에서 사용되는 개념으로,
클래스 내에서 정의되는 함수를 뜻하는 말이다.
메서드의 구성요소에는 이름, 매개변수, 반환 값이 있다.
클래스
클래스는 객체 지향 프로그래밍의 필수적인 개념으로,
데이터와 해당 데이터를 조작하는 메서드를 함께 묶어놓은 구조를 말한다.
클래스는 객체를 생성하기 위한 템플릿이며, 객체는 클래스의 인스턴스에 해당한다.
네이티브 앱
네이티브 앱은 특정 플랫폼 또는 운영 체제에 최적화된
언어와 도구를 사용하여 개발된 애플리케이션을 의미한다.
네이티브 앱 특정 플랫폼에 대해 최적화되어 있어
사용자 경험을 향상시키고 높은 성능을 제공한다.
웹 앱
웹앱이란 웹페이지를 스마트폰 화면 크기로 줄인 것으로
모든 단말기에서 같은 콘텐츠를 볼 수 있도록 해주는 어플입니다. (반응형 X)
인터넷 브라우저 위에서 돌아가는 프로그램이기에
따로 설치 없이 인터넷 브라우저만 있으면 모바일기기를 통해 접속이 가능하다.
'내일배움캠프 > Android 사전캠프' 카테고리의 다른 글
사전캠프 TIL 22일차 (모의고사, 소수 만들기 - Kotlin | FlutterFlow - 로그인/회원가입 구현) (0) | 2024.05.21 |
---|---|
사전캠프 TIL 21일차 (카드 뭉치, 과일 장수 - Kotlin | FlutterFlow - 레이아웃 짜기) (0) | 2024.05.21 |
사전캠프 TIL 19일차 (명예의 전당 (1) - Kotlin, MBTI 테스트 결과화면 구현) (0) | 2024.05.16 |
사전캠프 TIL 18일차 (콜라 문제 - Kotlin) (0) | 2024.05.15 |
사전캠프 TIL 17일차 (푸드파이트 대회 - Kotlin, MBTI 테스트 질문지 화면 마무리) (0) | 2024.05.14 |