비트를 쪼개는 개발자

allen321@naver.com

코딩테스트 24

C# [프로그래머스] Lv.2 JadenCase 문자열 만들기

문제 설명  간단한 문자열 문제다. string s 로 입력받은 문자열을 검사해서 각 단어의 첫번째 글자를 대문자로 바꿔주기만 하면 되는 문제다. 해결 포인트는 s로 날아온 문자열을 띄어쓰기를 기점으로 잘 나눠주고, 나눠준 단어별로 첫번째 글자를 대문자로 바꿔주는 조건문만 만들면 손쉽게 해결 가능하다. 첫번째 글자를 대문자로 바꿔준 다음에는 나머지 글자는 소문자로 변경해 주면 끝이다.   해당 코드  public string solution(string s){ // 공백으로 구분된 단어들을 배열로 변환 string[] sWords = s.Split(' '); for (int i = 0; i 0) { // 각 단어의 첫 ..

코딩테스트 2024.09.05

C# [프로그래머스] Lv.2 의상

문제 설명 1. yellow_hat2. blue_sunglasses3. green_turban4. yellow_hat + blue_sunglasses5. green_turban + blue_sunglasses 각 입을 수 있는 의상들을 종류별로 입는 경우의 수를 모두 계산하고 최종적으로 몇개의 조합으로 옷을 입을 수 있는지 계산하는 문제이다. 우선 각 의상의 종류별로 몇개의 종류가 있는지 넣어줄 딕셔너리를 선언하고 string 배열에서 받아온 옷의 갯수 만큼 계산하는 for문을 돌려준다. 이후에는 각 Dictionary 의 key값 만큼 곱해주면 간단하게 경우의 수가 나온다.최소한 하나의 옷은 입는다는 전제조건이 있었기 때문에 최종적으로 나온 answer에 -1을 해주면 해결 된다.   해당 코드  us..

코딩테스트 2024.08.27

C# [프로그래머스] Lv.2 두 큐 합 같게 만들기

문제 설명   queue1 = [3, 2, 7, 2]queue2 = [4, 6, 5, 1] 문제에서 넘겨주는 queue는 배열로 이루어져 있지만 제일 앞에 있는 배열 원소가 첫번째로 빠져나와야 하는 queue의 원소로 가정해서 풀어야 한다. 위와 같이 두개의 큐를 넘겨주고 모든 큐의 합을 더한 뒤 2로 나눈 값이 각각의 큐의 합이 되도록 만들어야 한다. 즉 위의 queue1 의 총 합은 14이고 queue2의 총 합은 16이다. 둘을 합하면 30이고 각 큐의 원소의 합이 15가 되게 만들어야 하기 때문에 queue1의 원소와 queue2 원소를 Enqueue하고 Dequeue 해가며 작업한다. 이때 return값은 제일 적은 경우로 작업한 횟수를 넘겨주면 되고 불가능 할 경우 -1을 return하면 된다..

코딩테스트 2024.08.09

C# [프로그래머스] Lv.2 택배 상자

문제 설명  컨베이어 벨트에서 택배를 확인하고 트럭에 순서대로 싣는 문제다. 고려해야 할 점은 택배는 반드시 기사님이 알려준 순서대로, 즉 order와 같은 순서로 트럭에 올라가야 한다. order[] 배열은 컨베이어 벨트에서 몰려오는 택배의 순서이고 해당 택배를 트럭에 싣는게 불가능 하다면 보조 컨테이너를 이용해서 잠시 배치할수 있다. 보조 컨테이너는 입구 이외에는 다른 면이 모두 막혀있는 구조이기 때문에 가장 마지막에 보관한 상자부터 꺼낼 수 있다. 이러한 상황에서 몰려오는 택배 상자를 최대 몇개까지 트럭에 넣을 수 있는지를 구하는것이 이번 문제의 답이다.     풀이 과정 우선 택배 상자를 순서대로 확인하는 작업을 하는 반복문을 만들었다.반복문의 과정 중 i번째의 상자가 트럭에 바로 넣을 수 없는 ..

코딩테스트 2024.08.06

C# [프로그래머스] Lv.2 귤 고르기

이번 문제의 핵심은 간단하다.  경화가 고르고 싶은 귤의 갯수가 k이고 tangerine[] 배열이 각각의 크기의 귤의 종류이다.귤을 각각의 크기별로 갯수를 센다.모든 귤을 Count 한 후에 많은 순서대로 내림차순 배치한다. (귤의 크기는 여기서 중요치 않다.)많은 수의 귤 부터 귤을 다시 Count한다.반복문을 돌리다가 귤의 갯수가 k보다 크거나 같아지면 종료한다.몇 종류의 귤을 count 했는지 return한다.  public int solution(int k, int[] tangerine) { // 귤의 크기별로 개수를 세기 위해 Dictionary 사용 Dictionary countDict = new Dictionary(); for (int i = 0; i counts =..

코딩테스트 2024.08.02

C# [프로그래머스] Lv.2 카펫

문제 설명      제한 사항 및 입출력 예    프로그래머스의 완전 탐색 계열 문제로 카페트의 색깔을 바탕으로 내부 색깔의 갯수와 외부 색깔의 갯수에 따라 카페트의 크기가 얼마나 되는지 return 해야 하는 문제이다. 그래프의 알고리즘 중 하나인 깊이 우선 탐색(DFS)를 이용해 완전 탐색을 진행하고 다음 분기로 넘어가는 방식으로 코드를 작성했다.  public class Solution { // 깊이 우선 탐색(DFS) 메서드 정의 public void dfs(int height, int brown, int yellow, int[] arr) { // height가 노란색 격자 양옆을 감싸는 갈색 격자의 수. 초기화 값은 2, 재귀할 때마다 2씩 추가 int..

코딩테스트 2024.07.31

C# [프로그래머스] 음양 더하기

absolutes 라는 int 배열을 받아와서 signs의 배열 값이 true 일 경우 양수, false 일 경우 음수로 absolutes의 숫자를 변경하고 이를 모두 합한 숫자를 answer로 반환하면 되는 문제다. public static void Main(){ int[] absolutes = new int[] { 4, 7, 12 }; // 숫자 배열 bool[] signs = new bool[] { true, false, true }; // 음양 결정 bool 값 Console.WriteLine(Solution(absolutes, signs));}public static int Solution(int[] absolutes, bool[] signs){ int answer = 0;..

코딩테스트 2024.05.09

C# [프로그래머스] Lv.1 없는 숫자 더하기

간단하게 0부터 9까지의 숫자 를 가지고 있는 정수 배열을 받아 온 뒤 이 배열 안에서 0부터 9 까지 중의 숫자 중 없는 숫자를 찾고 이 숫자들을 더한 answer을 받아오면 되는 문제.   처음 구상은 0 부터 9까지의 숫자를 가진 List를 만들고  numbers[]에 들어있는 원소들과 비교해서 없는 숫자들을 모은 List를 하나 더 만들어서 이 List의 총합을 더하는 방식으로 구상했다.    그러나 구현중에 조금 더 쉽게 풀 수 있는 생각이 들었는데,  어차피 0부터 9까지의 총 합은 45로 고정이고  제한사항을 읽어보니 numbers의 원소들은 같은 값이 나오지 않는다고 하니 그냥 numbers를 전부 더해서 45에서 빼주는 방법이 더 쉬워보였다.  public class Solution{ ..

코딩테스트 2024.02.19