목록문제 2 (6)
philaphillip
문제 한 줄에 K자를 적을 수 있는 메모장에 영어 단어들을 적으려 합니다. 영어 단어는 정해진 순서로 적어야 하며, 단어와 단어 사이는 공백 하나로 구분합니다. 단, 한 줄의 끝에 단어 하나를 완전히 적지 못한다면, 그 줄의 나머지 부분을 모두 공백으로 채우고 다음 줄부터 다시 단어를 적습니다. 예를 들어 한 줄에 10자를 적을 수 있고, 주어진 단어가 순서대로 `["nice", "happy", "hello", "world", "hi"]` 인 경우 각 줄에 다음과 같이 적을 수 있습니다.('_'는 공백을 나타냅니다.) 첫째 줄 : `"nice_happy"` 둘째 줄 : `"hello_____"` 셋째 줄 : `"world_hi"` 이때, 둘째 줄에 `"hello"`를 적으면 단어를 적을 수 있는 남은 칸..
문제 알파벳 소문자와 대문자로 구성된 문자열을 압축하려 합니다. 압축이란 대표 문자와 대표 문자가 연속되는 개수를 함께 표현하는 것입니다. 이때, 대문자와 소문자는 구분하지 않으며, 대표 문자는 소문자로 표현합니다. 예를 들어, 문자열 "YYYYYbbbBbbBBBMmmM"을 압축하면 "y5b9m4"입니다. 문자열 s가 매개변수로 주어질 때, s를 압축한 문자열을 return 하도록 solution 함수를 작성했습니다. 그러나, 일부 코드가 잘못되어 코드가 바르게 동작하지 않습니다. 주어진 코드가 모든 입력을 바르게 처리하도록 코드를 수정해주세요. 코드는 한 줄만 수정해야 합니다. 코드 def solution(s): s = s.lower() answer = "" previous = s[0] counter ..
문제 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 예를 들어, "aba"는 팰린드롬이며 "abccca"는 팰린드롬이 아닙니다. 어떤 문자열의 부분 문자열 중 팰린드롬인 문자열이 여럿일 수 있습니다. 이 중 k번째로 큰 팰린드롬을 알고 싶습니다. k번째로 큰 팰린드롬이란, 모든 팰린드롬을 사전 순으로 나열했을 때 k번째에 위치하는 팰린드롬을 뜻합니다. 이를 위해 다음과 같이 프로그램 구조를 세웠습니다. 1. 팰린드롬 문자열을 저장할 배열 palindromes를 선언합니다. 2. 주어진 문자열의 모든 부분 문자열을 찾아 다음을 수행합니다. 2-1. 부분 문자열이 팰린드롬 문자열인지 확인하고, 팰린드롬 문자열이라면 palindromes에 같은 문자열이 이미 들어있는지 확인합니다..
문제 A 지하철역의 오늘 하루 지하철 도착 시각이 순서대로 들어있는 배열이 있습니다. 현재 시간이 주어졌을 때, 지하철을 타기위해서는 최소 몇 분을 기다려야 하는지 구하려 합니다. 이를 위해 다음과 같이 프로그램 구조를 작성했습니다. 1. 00:00을 기준으로 해서 현재 시각을 분 단위로 변환합니다. 2. 배열을 순회하며 다음을 수행합니다. 2-1. 00:00을 기준으로, 각 지하철 도착 시각을 분 단위로 변환합니다. 2-2. 현재 시각과 지하철 도착 시각을 비교하여 최소 대기 시간을 구합니다. 3. 2번 단계에서 구한 최소 대기 시간을 return 합니다. 오늘 하루 동안의 지하철 도착 시각이 순서대로 들어있는 배열 subway_times와 subway_times의 길이 subway_times_len,..