//구글콘솔 광고 추가가
728x90
반응형
수열과 구간 쿼리 2 문제

 

내 코드
using System;
using System.Collections.Generic;
using System.Linq;
public class Solution {
    public int[] solution(int[] arr, int[,] queries) {
        var answer = new List<int>();
        for (int i = 0; i < queries.GetLength(0); i++)
        {
            int min = arr.Max()+1;
            for (int j = queries[i, 0]; j <= queries[i, 1]; j++)
            {
                if (arr[j] > queries[i, 2] && arr[j]< min)
                    min = arr[j];
            }
            if (min == arr.Max() + 1) min = -1;
            answer.Add(min);
        }
        return answer.ToArray();
    }
}
728x90
반응형
728x90
반응형
코드 처리하기 문제

 

내 코드
using System;

public class Solution {
    public string solution(string code) {
        string answer = "";
        int mode =0;
        bool isOne =false;
        for(int i =0; i < code.Length; i++)
        {
            if(code[i] == '1')
            {
                if(isOne == false)
                {
                    isOne = true;
                    mode = 1;
                }
                else if(isOne == true)
                {
                    isOne = false;
                    mode = 0;
                }
            }
            if(mode == 0)
            {
                if(code[i] != '1')
                {
                    if(i %2 == 0)
                       answer += code[i]; 
                }
            }
            if(mode == 1)
            {
                if(code[i] != '1')
                {
                    if(i %2 != 0)
                       answer += code[i]; 
                }
            }
        }
        if(answer.Length ==0)
            answer = "EMPTY";
        return answer;
    }
}
728x90
반응형
728x90
반응형
배열 조각하기 문제

 

내 코드
using System;
using System.Collections.Generic;
public class Solution {
    public int[] solution(int[] arr, int[] query) {
        List<int> answer = new List<int>(arr);
        for (int i = 0; i < query.Length; i++)
        {
            //012345 //412 >> 4 //01234 // >>1 //1234 // >>2 //123
            if (i % 2 == 0)
            {
                for (int j = answer.Count-1; j > query[i]; j--)
                {
                    answer.RemoveAt(j);
                }
            }
            else
            {
                for (int j = 0; j < query[i]; j++)
                {
                    answer.RemoveAt(0);
                }
            }
            arr = answer.ToArray();
        }
        return answer.ToArray();
    }
}

 

728x90
반응형
728x90
반응형
정수를 나선형으로 배치하기 문제

 

내 코드
using System;
//+1
public class Solution {
    public int[,] solution(int n) {
        int[,] answer = new int[n,n];
        string [,] answer2 = new string[n,1];
        int num = 1;
        for (int x = 0; x < n; x++)
        {
            for (int y = 0; y < n; y++)
            {
                answer[x,y] = -1;
            }
        }

        for (int i = 0; i < n; i++)
        {
            //왼 >> 오
            for (int r = i; r < n - i; r++)
            {
                if (answer[i,r] == -1)
                    answer[i,r] = num++;
            }
            //위 >> 아래
            for (int d = 1; d < n - i; d++)
            {
                if (answer[d,n - i - 1] == -1)
                    answer[d,n - i - 1] = num++;
            }
            //오 >> 왼
            for (int l = n - i - 1; 0 <= l; --l)
            {
                if (answer[n - i - 1,l] == -1)
                    answer[n - i - 1,l] = num++;
            }
            //아래 >> 위
            for (int u = n - i - 1; 0 < u; --u)
            {
                if (answer[u - 1,i] == -1)
                    answer[u - 1,i] = num++;
            }
        }

        for(int x =0; x < n; x++)
        {
            for(int y =0; y < n; y++)
            {
                if (y != 0) answer2[x, 0] += ",";
                
                answer2[x, 0] += + answer[x, y];
            }
        }
        return answer;
    }
}

 

728x90
반응형
728x90
반응형

처음 코딩을 배우기 시작했을 때, 수박수박수박을 반복하는 문제가 아직도 잊혀지지 않는다.

코딩 쌤이 하루에 한 문제씩은 코딩테스트 문제를 풀어보라 하셨었고,

당시의 나는 코딩의 코자도 모르는 작디작은 코린이었다.

주변 친구들이 문제를 풀 때 나도 언젠가는 저렇게 잘 풀고 싶다는 마음을 갖고 지금까지 왔다.

 

일단 지금까지 푼 프로그래머스 문제들 329개. 점수는 1689점이다. 아직 한참 멀었다. 역시나 나에게 코딩 테스트는 너무나 어렵다. 도대체 사람들은 얼마나 좋은 머리를 가지고 세상을 살아가고 있는 걸까.

그래도 처음보단 점차 나아지고 있으니까 지금 이 순간보단 나은 내가 되어 가길 희망한다.

 

블로그를 시작하며 몇 가지 문제들을 정리해서 저장해 둘 생각이다. 0단계에서부터 2단계까지의 문제들을 풀었었고,

가장 높은 점수를 봤던 게 21점이랑 17점이었던 것 같다. 처음엔 10점 이상의 점수가 나오는 문제들도 신기했었다. 그러다 21점이랑 17점이 나와서 아주 놀랐던 기억이 있다. 지금 생각해 보면 그 정도 점수였으면 문제가 뭐였는지 기억이라도 해뒀어야 했던 게 아닌가 싶다. 아마 그땐 이 점수의 끝이 어디까지였는지 예측이 안됬던 상태가 아니었나 싶다. 내가 다시 높은점의 점수를 만날 수 있을까? 열심히 풀어보자.

728x90
반응형

+ Recent posts