전체 글 442

운이 좋아서 Samsung 코테 준비 중

운이 좋아서 Samsung DX(Device Experience) SW 직무 코테를 볼 기회를 얻었다. 삼성은 프로그래머스 기반의 코딩 테스트가 아니고 C#을 사용할 수 없어서 현재 Java를 복습하고 있다...(학교에서 배웠지만 많이 까먹은 상태...) 삼성 코테 연습 문제는 저작권에 걸리기 때문에 블로그에 올릴 수 없는 상태이라 한 동안 블로그에 글을 못 올릴 예정이다... 코딩 실력이 좋지 않아서 기대는 안 하고 있지만 좋은 경험이 될 것이라 생각한다.

카테고리 없음 2025.04.08

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

103. 가장 큰 수 (Array.Sort, CompareTo)

기본 틀 : using System;public class Solution { public string solution(int[] numbers) { string answer = ""; return answer; }} 문제를 보고 "OrderByDescending이나 Array.Sort를 활용하면 쉽게 해결할 수 있지 않나?" 라는 생각을 했다. 그리고 OrderByDescending은 아무리 생각해봐도 아닌 것 같고 Array.Sort를 잘 활용하면 좋다는 생각은 들었지만 어떻게 조건에 부합하게 비교할지 막막했다... 인터넷에 찾아보니 CompareTo()를 활용해서  정수형 배열을 문자열 배열로 만든 요소 두 개를  (b + a).CompareTo(a + b)로 비..

문제 풀기/C# 2025.03.31

102. 다리를 지나는 트럭

기본 틀 : using System;public class Solution { public int solution(int bridge_length, int weight, int[] truck_weights) { int answer = 0; return answer; }} 위 문제를 풀어보면서 아직까지 '어떤 자료구조로 어떻게 알고리즘을 구현해서 문제를 해결할 것인가' 라는 생각하는 힘이 많이 약하다는 것을 많이 깨달았다... Stack이나 Queue를 사용해서 제시된 예시는 모두 통과했지만 전체 테스트에서 부분적인 통과 밖에 못 했다... 인터넷을 통해 다른 사람들의 풀이를 살펴 본 결과  // 다리를 건너는 자동차 Queue Queue pro..

문제 풀기/C# 2025.03.31

101. 2개 이하로 다른 비교

기본 틀 : using System;public class Solution { public long[] solution(long[] numbers) { long[] answer = new long[] {}; return answer; }} 위의 문제를 푼다고 애먹었다... 먼저 long[] numbers를 2진수로 변경할 필요가 존재한다. 그래서,  public long[] solution(long[] numbers) { string[] bit = new string[numbers.Length]; for(int i = 0; i  위와 같은 코드로 2진수로 변경 및 앞에 "0"을 추가해 "01"이 "10"이 될 상황을 ..

문제 풀기/C# 2025.03.25

100. 숫자 변환하기

기본 틀 : using System;public class Solution { public int solution(int x, int y, int n) { int answer = 0; return answer; }} 먼저 x와 y가 동일할 수 있기 때문에  if(x == y) return 0; 으로 0을 리턴할 수 있도록 해준다. 그 이외의 케이스들은 x가 y로 될 수 없는 케이스거나 가능한 케이스 이다. 이때, +n, * 2, * 3의 결과가 중복될 수 있기 때문에 HashSet을 사용하기로 결정했다. 그리고 계산 과정을 약간이나마 줄이기 위해서  HashSet hashSet = new HashSet(){x + n, x * 2, x * 3};..

문제 풀기/C# 2025.03.21

99. 롤케이크 자르기

기본 틀 : using System;public class Solution { public int solution(int[] topping) { int answer = -1; return answer; }} 문제를 보고 아는 함수들을 조합해서 풀어보았다. topping을 반복문과 Skip().Take() 함수를 활용해  형과 동생의 케이크를 자르고 Distinct() 함수로 중복을 해줬다. 그리고, Length를 비교해 개수를 구하고자 시도했다. 그 결과... using System;using System.Linq;using System.Collections.Generic;public class Solution { public int solution(int[] t..

문제 풀기/C# 2025.03.21

98. 뒤에 있는 큰 수 찾기

기본 틀 :using System;public class Solution { public int[] solution(int[] numbers) { int[] answer = new int[] {}; return answer; }} 처음에는 문제를 보고 당연히 2중 반복문을 통해 비교 하는 코드를 작성했다.using System;public class Solution { public int[] solution(int[] numbers) { int[] list = new int[numbers.Length]; int i = 0; for(; i   그 결과 시간  초과에 걸리게 됐다... 시간 초과..

문제 풀기/C# 2025.03.21

97. 모음 사전

기본 틀 : using System;public class Solution { public int solution(string word) { int answer = 0; return answer; }} 문제에서 DFS를 활용하여 바로 원하는 word를 구하고자 시도했지만 도무지 구해지지 않았다... 결국 다른 사람이 작성한 코드를 바탕으로 코드를 분석하기로 결정했다.  public char[] alpabet = {'A', 'E', 'I', 'O', 'U'}; public List list = new List(); 먼저, char 형 배열을 만들어 'A', 'E', 'I', 'O', 'U'로 초기화 해주고 만들어진 단어를 저장하기 위해 문자열 List를 만들어..

문제 풀기/C# 2025.03.20