본문 바로가기
728x90
반응형

분류 전체보기301

Add Border 문자로 이루어진 직사각형 행렬이 주어지면, 이 행렬 주위에 별표(*) 테두리를 추가하는 문제입니다. picture = ["abc", "ded"] 이라면, 출력은 다음과 같아야 합니다: ["*****", "*abc*", "*ded*", "*****"] 여기서 첫 번째 행과 마지막 행에는 모든 열에 *가 포함되고, 나머지 행은 맨 앞과 맨 뒤에 *가 붙은 형태로 테두리가 형성됩니다. 즉, 주어진 행렬의 각 행의 앞과 뒤에 *를 추가하여 새로운 행렬을 생성하면 됩니다. string[] solution(string[] picture) { char[] ch = picture[0].ToCharArray(); int len = ch.Length; char[] border = new char[len+2]; string.. 2023. 12. 5.
reverseInParentheses 주어진 문자열에서 괄호로 묶인 부분의 문자열을 뒤집는 함수를 작성하는 문제입니다. 주어진 문자열은 항상 괄호가 올바르게 매치되어 있다고 가정됩니다. 스택을 사용하여 괄호의 시작과 끝을 추적하면서 문자열을 뒤집을 수 있습니다. string solution(string inputString) { char[] ch = inputString.ToCharArray(); Stack stack = new Stack(); int start = 0; int end = 0; for(int i = 0;i 2023. 12. 3.
alternating Sums 주어진 배열을 두 팀으로 나누고, 각 팀의 총 무게를 계산하는 것입니다. 배열의 첫 번째 요소는 팀 1로, 두 번째 요소는 팀 2로, 세 번째 요소는 다시 팀 1로, 네 번째 요소는 팀 2로, 이와 같이 번갈아가며 팀이 구성됩니다. 예를 들어, 주어진 배열이 [50, 60, 60, 45, 70]이라면: 첫 번째 사람(50)은 팀 1에 속하므로, 팀 1의 무게는 50이 됩니다. 두 번째 사람(60)은 팀 2에 속하므로, 팀 2의 무게는 60이 됩니다. 세 번째 사람(60)은 다시 팀 1에 속하므로, 팀 1의 무게는 50 + 60 = 110이 됩니다. 네 번째 사람(45)은 다시 팀 2에 속하므로, 팀 2의 무게는 60 + 45 = 105이 됩니다. 다섯 번째 사람(70)은 다시 팀 1에 속하므로, 팀 1의.. 2023. 12. 3.
Sort by Height 주어진 배열 a에서 값이 -1이 아닌 요소들을 오름차순으로 정렬하되, -1인 요소들은 원래 위치에 그대로 남겨두어야 하는 문제입니다. 예를 들어, 주어진 배열이 [-1, 150, 190, 170, -1, -1, 160, 180]인 경우, -1이 아닌 숫자들을 오름차순으로 정렬하면 [150, 160, 170, 180, 190]이 됩니다. 이제 이 숫자들을 원래 배열의 -1이 아닌 위치에 삽입해야 합니다. 따라서 결과적으로는 [-1, 150, 160, 170, -1, -1, 180, 190]이 되어야 합니다. 이러한 문제를 해결하기 위해서는 다음과 같은 과정을 거칩니다: 배열에서 -1이 아닌 숫자들을 추출하고 정렬합니다. 원래 배열의 각 위치에 -1이 아닌 숫자들을 순서대로 삽입합니다. int[] solut.. 2023. 12. 2.
isLucky 주어진 티켓 번호 n이 행운의 번호인지 여부를 판단하라고 합니다. 여기서 행운의 번호는 다음과 같이 정의됩니다: 티켓 번호는 일반적으로 짝수 자릿수로 이루어져 있습니다. 티켓 번호를 반으로 나눈 경우, 첫 번째 반과 두 번째 반의 각 자릿수 합이 서로 같아야 합니다. 예를 들어, 123006은 행운의 번호입니다. 왜냐하면 1+2+3이 0+0+6과 같기 때문입니다. 티켓 번호 n이 주어졌을 때, 이 번호가 행운의 번호인지 아닌지를 판단하는 것이 문제의 목표입니다. bool solution(int n) { int[] ch = new int[6]; int rest = n; int idx = 0; while(rest>0){ ch[idx++] = (rest%10); rest /= 10; } int front = .. 2023. 12. 1.
commonCharacterCount 두 개의 문자열이 주어졌을 때, 두 문자열에서 공통으로 나타나는 문자의 개수를 찾는 문제입니다. 예를 들어, "aabcc"와 "adcaa" 두 문자열이 주어졌을 때, 공통으로 나타나는 문자는 'a'와 'c'이며, 이들의 개수는 각각 2개와 1개입니다. 따라서, 이 경우 함수는 3을 반환해야 합니다. 문제의 목표는 주어진 두 문자열에서 공통으로 나타나는 문자의 총 개수를 계산하는 것입니다. int solution(string s1, string s2) { Dictionary dic1 = new Dictionary(); Dictionary dic2 = new Dictionary(); HashSet hash = new HashSet(); foreach(char c in s1){ if(!dic1.Contains.. 2023. 11. 28.
All Longest Strings 주어진 문자열 배열에서 가장 긴 문자열들을 찾는 문제입니다. 주어진 문자열 배열에서 가장 긴 문자열의 길이를 찾은 다음, 해당 길이와 동일한 길이를 가지는 모든 문자열을 반환해야 합니다. ["aba", "aa", "ad", "vcd", "aba"] 여기서 가장 긴 문자열의 길이는 3입니다. 따라서 결과로는 길이가 3인 모든 문자열을 포함하는 배열이 반환되어야 합니다. 결과는 다음과 같습니다: ["aba", "vcd", "aba"] 가장 긴 문자열의 길이를 찾고, 해당 길이와 동일한 길이를 가지는 모든 문자열을 찾아 반환하는 것이 목표 string[] solution(string[] inputArray) { Dictionary dic = new Dictionary(); List ret = new List(.. 2023. 11. 27.
728x90
반응형