반응형

 

 

 

 

 

풀이 코드

using System;

public class Solution {
    public bool solution(string s) {
        int count = 0;
        for(int i = 0; i < s.Length; i++)
        {
            count = s[i] == '(' ? count + 1 : count - 1;
            if(count < 0)
            {
                return false;
            }
        }

        return count == 0;
    }
}
  • 문자열을 순회하면서 '('값이면 count 값을 올리고, ')'이면 값을 내린다.
  • 순회 도중 count가 음수가 되면 괄호 짝이 안맞는것이므로 false로 출력한다.
  • 모든 문자열을 순회하였을 시, count 값이 0이면 true, 아니면 false로 출력한다.

 

 

 

기타

- 카테고리가 Stack/Queue로 되어있어서 스택을 써야하나 고민했는데, 굳이 스택을 써야하나 싶어서 위와 같은 과정으로 풀이함.

 

 

 

 

 

반응형
반응형

 

 

 

 

 

풀이 코드

using System;

public class Solution {
    public int[] solution(string s) {
        int zeroCount = 0;
        int loopCount = 0;
        while(s != "1")
        {
            string replaceStr = s.Replace("0", string.Empty);
            int lengthDiff = s.Length - replaceStr.Length;
            zeroCount += lengthDiff;
            loopCount++;
            s = Convert.ToString(replaceStr.Length, 2);
        }
        
        int[] answer = new int[] {loopCount, zeroCount};
        return answer;
    }
}
  • string.Replace()를 사용해서 0값을 지워준다.
  • 지운 문자열(replaceStr) 길이와 인수로 들어온 문자열(s)의 길이를 빼서 그 값을 전부 더해준다.
  • 다음 루프에서 이 과정을 다시 처리하기 위해 s값을 replaceStr 문자열 길이를 2진수로 변환한 문자열로 변경해준다.
  • 위 과정을 s가 "1"이 될때까지 반복 후, 결과를 출력한다.

 

 

 

 

기타

- Convert.ToString() : 첫번째 인수에 변환할 값을, 두번째 인수에 몇진수로 변환할건지 값을 입력하면 변환된 값을 문자열로 받을 수 있다.

 

 

 

 

 

반응형

'Stack > Coding test' 카테고리의 다른 글

[C# / Lv3] 이중우선순위큐  (0) 2022.10.10
[C# / Lv2] 올바른 괄호  (0) 2022.10.07
[C# / Lv2] 최솟값 만들기  (0) 2022.10.07
[C# / Lv2] JadenCase 문자열 만들기  (0) 2022.10.07
[C# / Lv2] 최댓값과 최솟값  (0) 2022.10.07
반응형

 

 

 

 

 

풀이코드

using System;

public class Solution {
    public int solution(int[] A, int[] B) {
        Array.Sort(A);
        Array.Sort(B, (a, b) => b.CompareTo(a));
        
        int answer = 0;
        for(int i = 0; i < A.Length; i++)
        {
            answer += A[i] * B[i];
        }
        
        return answer;
    }
}
  • 핵심 요지는 배열 A의 최소값과 배열 B의 최대값을 곱해주면 최종적으로 최소값이 나온다.
  • 그렇기 때문에, 배열 A는 오름차순, 배열 B는 내림차순으로 정렬한뒤 각 배열의 i번째 값들을 순서대로 곱해준 뒤, 더한값을 결과로 출력한다.

 

 

 

 

 

반응형

'Stack > Coding test' 카테고리의 다른 글

[C# / Lv2] 올바른 괄호  (0) 2022.10.07
[C# / Lv2] 이진 변환 반복하기  (0) 2022.10.07
[C# / Lv2] JadenCase 문자열 만들기  (0) 2022.10.07
[C# / Lv2] 최댓값과 최솟값  (0) 2022.10.07
[C++ / Lv2] 더 맵게  (0) 2022.03.03
반응형

 

 

 

 

 

풀이코드

public class Solution {
    public string solution(string s) {
        char[] charArr = s.ToLower().ToCharArray();
        charArr[0] = char.ToUpper(charArr[0]);
        for(int i = 1; i < charArr.Length; i++)
        {
            if(charArr[i - 1] == ' ')
            {
                charArr[i] = char.ToUpper(charArr[i]);
            }
        }
        string answer = string.Join(string.Empty, charArr);
        return answer;
    }
}
  • 문자열을 모두 소문자로 변경한뒤 Char 배열로 변환한다.
  • 첫번째 Char값의 경우, 반복문에서 따로 체크를 안하기때문에 반복문 전에 첫번째 Char값을 대문자 변환을 시도한다. (어차피 숫자는 ToUpper(), ToLower()로 값이 변경되지 않으므로 굳이 조건문을 추가하지 않는다.)
  • 나머지 값들에 대해 반복문을 돌리면서 단어 앞에 공백이 있으면 해당 i번째 Char 값을 대문자로 변경한다.

 

 

 

기타

- string.Join() : 배열을 string으로 묶는 기능

 

String.Join 메서드 (System)

각 요소 또는 멤버 사이에 지정된 구분 기호를 사용하여 지정된 배열 요소나 컬렉션 멤버를 연결합니다.

learn.microsoft.com

 

 

 

 

 

 

반응형

'Stack > Coding test' 카테고리의 다른 글

[C# / Lv2] 이진 변환 반복하기  (0) 2022.10.07
[C# / Lv2] 최솟값 만들기  (0) 2022.10.07
[C# / Lv2] 최댓값과 최솟값  (0) 2022.10.07
[C++ / Lv2] 더 맵게  (0) 2022.03.03
[C# / Lv2] 주식 가격  (0) 2022.02.26
반응형

 

 

 

 

풀이코드

using System;

public class Solution {
    public string solution(string s) {
        int[] intArr = Array.ConvertAll(s.Split(" "), item => int.Parse(item));
        Array.Sort(intArr);
        string answer = $"{intArr[0]} {intArr[intArr.Length - 1]}";
        return answer;
    }
}
  • 문자열 안의 숫자들이 공백을 기준으로 나뉘어져 있으므로 Split으로 나눠준 뒤, int로 파싱한다.
  • 그렇게 만들어진 배열을 정렬한 뒤, 첫번째 값과 마지막 값을 출력해주면 끝

 

 

 

 

 

반응형

'Stack > Coding test' 카테고리의 다른 글

[C# / Lv2] 최솟값 만들기  (0) 2022.10.07
[C# / Lv2] JadenCase 문자열 만들기  (0) 2022.10.07
[C++ / Lv2] 더 맵게  (0) 2022.03.03
[C# / Lv2] 주식 가격  (0) 2022.02.26
[C++ / Lv 2] 다리를 지나는 트럭  (0) 2022.02.26

+ Recent posts