2025/04 6

109. 연속된 부분 수열의 합

기본 틀 : using System;public class Solution { public int[] solution(int[] sequence, int k) { int[] answer = new int[] {}; return answer; }} 처음 문제를 보고 Dictionary의 Key를 int형 배열로 잡고 Value를 int로 해서 Key에는 시작과 끝 index를 저장, Value에는 개수를 저장해서 Value가 가장 작은 Key를 결과로 반환하고자 했다.using System;using System.Linq;using System.Collections.Generic;public class Solution { public int[] solution(i..

문제 풀기/C# 2025.04.28

108. 삼각 달팽

기본 틀 : using System;public class Solution { public int[] solution(int n) { int[] answer = new int[] {}; return answer; }} 문제를 해결하기 위해서 1차원 배열을 사용해야 하는지 아니면 2차원 배열을 사용해야 하는지 + 반복문은 어떤 형태로 동작 시켜야 하는지 많이 고민했다. 배열은 1차원 배열로 바로 결과를 만드는 건 불가능하다 생각해서 2차원 배열을 사용했다. int[,] triangle = new int[n, n]; 반복문으로 값을 결정하는 방법으로는 int num = 1; int x = -1, y = 0; fo..

문제 풀기/C# 2025.04.24

107. 큰 수 만들기

기본 틀 : using System;public class Solution { public string solution(string number, int k) { string answer = ""; return answer; }} 문제가 쉬워보였지만 상당히 애먹었다... 처음에는 number.Legnth - k 개 문자열을 구성한 후 해당 문자열에서 가장 작은 수를 제거하고 number에 남은 앞 글자를 추가하는 방식으로 max 값을 찾고자 했다... 그런데 그럴 경우 "시간 초과" 발생했다... 도무지 다른 방법이 보이지 않아서 다른 사람의 코드를 찾아보니 StringBuilder와 탐욕 기법으로 문제를 하셨다. using System.Text; St..

문제 풀기/C# 2025.04.22

105. 쿼드압축 후 개수 세기

기본 틀 : using System;public class Solution { public int[] solution(int[,] arr) { int[] answer = new int[] {}; return answer; }} 위의 문제는 2차원 배열을 4등분 후 각각 탐색을 진행하여 0과 1만 존재할 경우 개수를 증가 하면 되는 문제이다. 배열을 각 단계 별로 4등분 해야하기 때문에 재귀함수를 사용하면 편리하고 재귀함수의 매개변수로는 // 필요한 매개변수 // 시작 x, y 위치 // 배열 탐색 범위 // 2차원 배열 public void QuadCompression(int x, int y, int len, int[,] arr) 시작할..

문제 풀기/C# 2025.04.22

106. 택배상자

기본 틀 :using System;public class Solution { public int solution(int[] order) { int answer = 0; return answer; }} 간단한 문제인데 사소한 실수와 생각이 너무 많아져서 문제를 빨리 해결하지 못 했다.( 풀이 방법을 글로 적어봤는데 글이 별로라 ChatGPT의 도움을 받아 정리했다) 해결 방법박스 인덱스 (boxIndex) 초기화현재 적재해야 할 order의 인덱스를 추적하는 변수 boxIndex를 선언합니다.박스 적재 과정1부터 n까지 박스를 순차적으로 확인합니다.현재 박스가 order[boxIndex]와 같다면 바로 트럭에 적재하고 boxIndex를 증가시킵니다.그렇지 않다면, 보조 ..

문제 풀기/C# 2025.04.03

104. 소수 찾기(재귀 함수를 이용한 소수 만들기)

문제를 보고 소수를 만들 방법에 대해 많은 고민을 했다. 재귀함수를 사용해서 소수를 만들어야 하는 상황이라  매개변수로 무슨 값을 줘야할지 많이 고민했다. 고민 끝에 나온 결론으로는  1. 제한 시킬 글자 수2. 현재 만들어진 숫자(문자열)3. numbers(제공 될 문자열) 로 선택했다. 재귀함수의 반환형은 void로 설정 했는데 이유는 딱히 반환해야 할 내용이 없어 보였기 때문이다.  // 필요한 매개변수 // 제한 시킬 글자 수 // 현재 만들어진 숫자(문자열) // numbers(제공 될 문자열) public void MakeNumber(int length, string currentWords, string numbers) { if(curren..

문제 풀기/C# 2025.04.01