문제https://school.programmers.co.kr/learn/courses/30/lessons/68645정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항n은 1 이상 1,000 이하입니다. 입출력 예 나의 풀이def solution(n): snail = [[0] * i for i in range(1, n + 1)] moves = [(1, 0), (0, 1), (-1, -1)] turns = [0] for i in range(n, 0, -1)..
구글 플레이 16KB 페이지 크기 요구사항앞으로 Android 15 이상을 타겟팅하는 모든 앱은 16KB 페이지 사이즈를 지원해야 한다.2025년 11월 1일부터는 16KB 페이지 사이즈를 지원하지 않는 앱은 Google Play에 업데이트를 출시할 수 없다고 한다. 16KB 페이지 크기 지원의 장점기존에는 안드로이드에서 4KB 메모리 페이지 크기만 지원했지만,안드로이드 15부터는 16KB 페이지 크기를 사용하는 기기를 지원하게 되었기 때문에앱이 이러한 16KB 기기에서도 정상적으로 작동하도록 다시 빌드해야 한다고 한다. 16KB 페이지 크기로 구성된 기기는 평균적으로 약간 더 많은 메모리를 사용하지만,시스템과 앱 모두에서 다양한 성능 개선 효과가 확인되었다고 한다.시스템 메모리 부족 시 앱 실행 시간 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/92341주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다.요금표기본 시간(분)기본 요금(원)단위 시간(분)단위 요금(원)180500010600입/출차 기록시각(시:분)차량 번호 내역05:345961입차06:000000입차06:340000출차07:595961출차07:590148입차18:590000입차19:090148출차22:595961입차23:005961출차자동차별 주차 요금차량 번호누적 주차 시간(분) 주차 요금(원)000034 + 300 = 3345000 + ⌈(334 - 180) / 10⌉ x 6..
문제https://school.programmers.co.kr/learn/courses/30/lessons/67256스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다.이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다.맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다.엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다.왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다.오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다.가운데 열의 4개의 숫자 2, 5, 8, ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/72412[본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.]카카오는 하반기 경력 개발자 공개채용을 진행 중에 있으며 현재 지원서 접수와 코딩테스트가 종료되었습니다. 이번 채용에서 지원자는 지원서 작성 시 아래와 같이 4가지 항목을 반드시 선택하도록 하였습니다.코딩테스트 참여 개발언어 항목에 cpp, java, python 중 하나를 선택해야 합니다.지원 직군 항목에 backend와 frontend 중 하나를 선택해야 합니다.지원 경력구분 항목에 junior와 senior 중 하나를 선택해야 합니다.선호하는 소울푸드로 chicken과 pizza 중 하나를 선택해야 합니다.인재영입팀에 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/72411레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다.기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 "스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성하기로 했습니다.단, 코스요리 메뉴는 최소 2가지 이상의 단품메뉴로 구성하려고 합니다. 또한, 최소 2명 이상의 손님으로부터 주문된 단품메뉴 조합에 대해서만 코스요리 메뉴 후보에 포함하기로 했습니다.각 손님들이..
문제https://school.programmers.co.kr/learn/courses/30/lessons/150367당신은 이진트리를 수로 표현하는 것을 좋아합니다.이진트리를 수로 표현하는 방법은 다음과 같습니다.이진수를 저장할 빈 문자열을 생성합니다.주어진 이진트리에 더미 노드를 추가하여 포화 이진트리로 만듭니다. 루트 노드는 그대로 유지합니다.만들어진 포화 이진트리의 노드들을 가장 왼쪽 노드부터 가장 오른쪽 노드까지, 왼쪽에 있는 순서대로 살펴봅니다. 노드의 높이는 살펴보는 순서에 영향을 끼치지 않습니다.살펴본 노드가 더미 노드라면, 문자열 뒤에 0을 추가합니다. 살펴본 노드가 더미 노드가 아니라면, 문자열 뒤에 1을 추가합니다.문자열에 저장된 이진수를 십진수로 변환합니다.이진트리에서 리프 노드가 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/150365n x m 격자 미로가 주어집니다. 당신은 미로의 (x, y)에서 출발해 (r, c)로 이동해서 탈출해야 합니다.단, 미로를 탈출하는 조건이 세 가지 있습니다.격자의 바깥으로는 나갈 수 없습니다.(x, y)에서 (r, c)까지 이동하는 거리가 총 k여야 합니다. 이때, (x, y)와 (r, c)격자를 포함해, 같은 격자를 두 번 이상 방문해도 됩니다.미로에서 탈출한 경로를 문자열로 나타냈을 때, 문자열이 사전 순으로 가장 빠른 경로로 탈출해야 합니다.이동 경로는 다음과 같이 문자열로 바꿀 수 있습니다.l: 왼쪽으로 한 칸 이동r: 오른쪽으로 한 칸 이동u: 위쪽으로 한 칸 이동d: 아래쪽..
문제https://school.programmers.co.kr/learn/courses/30/lessons/150366당신은 표 편집 프로그램을 작성하고 있습니다.표의 크기는 50 × 50으로 고정되어있고 초기에 모든 셀은 비어 있습니다.각 셀은 문자열 값을 가질 수 있고, 다른 셀과 병합될 수 있습니다.위에서 r번째, 왼쪽에서 c번째 위치를 (r, c)라고 표현할 때, 당신은 다음 명령어들에 대한 기능을 구현하려고 합니다."UPDATE r c value"(r, c) 위치의 셀을 선택합니다.선택한 셀의 값을 value로 바꿉니다."UPDATE value1 value2"value1을 값으로 가지고 있는 모든 셀을 선택합니다.선택한 셀의 값을 value2로 바꿉니다."MERGE r1 c1 r2 c2"(r1,..
문제https://school.programmers.co.kr/learn/courses/30/lessons/150368카카오톡에서는 이모티콘을 무제한으로 사용할 수 있는 이모티콘 플러스 서비스 가입자 수를 늘리려고 합니다.이를 위해 카카오톡에서는 이모티콘 할인 행사를 하는데, 목표는 다음과 같습니다.이모티콘 플러스 서비스 가입자를 최대한 늘리는 것.이모티콘 판매액을 최대한 늘리는 것.1번 목표가 우선이며, 2번 목표가 그 다음입니다.이모티콘 할인 행사는 다음과 같은 방식으로 진행됩니다.n명의 카카오톡 사용자들에게 이모티콘 m개를 할인하여 판매합니다.이모티콘마다 할인율은 다를 수 있으며, 할인율은 10%, 20%, 30%, 40% 중 하나로 설정됩니다.카카오톡 사용자들은 다음과 같은 기준을 따라 이모티콘을..