본문 바로가기

Algorithm Practice18

[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.
[Programmers] 바탕화면 정리 (Java / Python) 문제 링크 문제 설명 파일의 위치를 '#', 빈 공간을 '.'로 나타내는 문자열 배열 wallpaper가 주어질 때, 단 한 번의 드래그로 모든 파일을 선택하려한다. 이 때 시작점(x1, y1)과 끝점(x2, y2)의 거리가 최소가 되는 좌표를 x1, y1, x2, y2 순으로 배열에 담아 리턴해보자. 제한 사항 1 ≤ 'wallpapaer'의 길이 ≤ 50 1 ≤ 'wallpapaer[i]'의 길이 ≤ 50 모든 원소의 길이는 동일 wallpaper[i][j]는 바탕화면에서 i + 1행 j + 1열에 해당하는 칸의 상태를 표시 wallpaper[i][j]는 "#" 또는 ".". 바탕화면에는 적어도 하나의 파일. 드래그 시작점 (x1, y1)와 끝점 (x2, y2)는 x1 2023. 8. 31.
[Programmers] 달리기 경주 (Java / Python) 문제 링크 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로 주어질 때, 경주가 끝났을 때 선수들의 이름을 1등부터 등수 순서대로 배열에 담아 return 하는 solution 함수를 완성해주세요. 제한.. 2023. 8. 31.
[Programmers] 보석 쇼핑 (Java / Python) 문제 링크 문제 설명 개발자 출신으로 세계 최고의 갑부가 된 어피치는 스트레스를 받을 때면 이를 풀기 위해 오프라인 매장에 쇼핑을 하러 가곤 합니다. 어피치는 쇼핑을 할 때면 매장 진열대의 특정 범위의 물건들을 모두 싹쓸이 구매하는 습관이 있습니다. 어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 어피치는 이전처럼 진열대의 특정 범위의 보석을 모두 구매하되 특별히 아래 목적을 달성하고 싶었습니다. 진열된 모든 종류의 보석을 적어도 1개 이상 포함하는 가장 짧은 구간을 찾아서 구매 예를 들어 아래 진열대는 4종류의 보석(RUBY, DIA, EMERALD, SAPPHIRE) 8개가 진열된 예시입니다. 진열대 번호 1 2 3 4 5 6 7 8 보석 이름 DIA RUBY RUBY DIA DIA EME.. 2023. 8. 31.