본문 바로가기

전체 글34

[Programmers] 무인도 여행 (Java/Python) 문제링크 문제요약 다음과 같은 조건을 만족하는 무인도의 지도가 있다. 지도는 1 x 1 크기의 사각형들로 이루어진 직사각형 격자 형태이며, 격자의 각 칸에는 'X' 또는 1에서 9 사이의 자연수가 적혀있다. 상, 하, 좌, 우로 연결되는 땅들은 하나의 무인도를 이룬다. 지도의 각 칸에 적힌 숫자는 식량을 나타내는데, 상, 하, 좌, 우로 연결되는 칸에 적힌 숫자를 모두 합한 값은 해당 무인도에서 최대 며칠동안 머물 수 있는지를 나타낸다. 지도를 나타내는 문자열 배열 maps가 주어질 때, 각 섬에서 머물 수 있는 최대 일수를 배열에 오름차순으로 담아 return 하는 함수를 만들어보자. 만약 지낼 수 있는 무인도가 없다면 -1을 배열에 담아 return 한다. 제한사항 3 ≤ maps의 길이 ≤ 100 .. 2023. 9. 1.
[Programmers] 호텔 대실 (Java/Python) 문제 링크 문제요약 최소한의 객실만을 사용하여 예약손님을 받으려고 한다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다른 손님들이 사용할 수 있다. 예약 시간이 문자열 형태로 담긴 2차원 배열 'booktime'이 매개변수로 주워질 떄, 최소 객실의 수를 return하는 함수를 만들어라. 제한사항 1 ≤ book_time의 길이 ≤ 1,000 book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열 [대실 시작 시각, 대실 종료 시각] 형태 시각은 HH:MM 형태로 24시간 표기법을 따르며, "00:00" 부터 "23:59" 까지. 예약 시각이 자정을 넘어가는 경우는 없음 시작 시각은 항상 종료 시각보다 빠름 입출력 예 book_time result [["1.. 2023. 9. 1.
[Programmers] 둘만의 암호 (Java / Python) 문제 링크 문제 요약 두 문자열 's'와 'skip', 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 새로운 문자열을 만들어 보자. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔준다. index만큼 뒤의 알파벳이 z를 넘어갈 경우, 다시 a로 돌아간다. skip에 있는 알파벳을 제외하고 건너뛰어야 한다. 제한사항 5 ≤ s의 길이 ≤ 50 1 ≤ skip의 길이 ≤ 10 s와 skip은 알파벳 소문자로만 이루어져 있습니다. skip에 포함되는 알파벳은 s에 포함되지 않습니다. 1 ≤ index ≤ 20 입출력 예 s skip index result "aukks" "wbqd" 5 "happy" 문제풀이 우선 s = "a", index = "3"이라 생각해보면, a의 만큼 뒤에있는 .. 2023. 9. 1.
[Programmers] 카드뭉치 (Java / Python) 문제 링크 문제 설명 문자열 배열 cards1과 cards2 (카드뭉치)가 주어졌을 때, 두 문자열을 주어진 순서대로 사용하여 문자열 배열 goal를 만들 수 있다면 "Yes", 없다면 "No"를 리턴해야한다. 한 번 사용한 카드는 재사용 불가능하고, 카드뭉치의 순서는 바꿀 수 없다. 제한 사항 각 카드 뭉치의 길이는 최대 10 goal은 cards1과 cards2의 단어들로만 이루어져 있으며, 최소 2개의 카드 뭉치의 단어를 조합해서 만들 수 있음 goal의 길이는 최소 2개 이상이고, 최대로 만들 수 있는 길이는 cards1, cards2의 길이의 합 각 단어의 길이는 최대 10 단어는 알파벳 소문자로만 이루어짐 입출력 예 cards1 cards2 goal result ["i", "drink", "w.. 2023. 9. 1.