문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
s | return |
---|---|
"a234" | false |
"1234" | true |
public class Solution
{
public bool solution(string s)
{
bool answer;
int num;
if (s.Length == 4 || s.Length == 6)
{
if (int.TryParse(s, out num))
{
answer = true;
}
else
{
answer = false;
}
}
else
{
answer = false;
}
return answer;
}
}
문자열 길이가 4, 6이라는 조건이 뭔 말인가 했더니 4, 6 이외에는 false를 반환하라는 의미였다. 아무래도 문제지 작성자가 외국인인 듯 싶다. 4, 6을 판단하는 코드를 작성하지 않았어서 틀렸었고 간단하게 조건문으로 덮어줘서 해결하였다.
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
arr1 | arr2 | return |
---|---|---|
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
public class Solution
{
public int[,] solution(int[,] arr1, int[,] arr2)
{
int row = arr1.GetLength(0);
int col = arr2.GetLength(1);
int[,] answer = new int[row, col];
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
answer[i, j] = arr1[i, j] + arr2[i, j];
}
}
return answer;
}
}
2차원 배열의 사용이 익숙지가 않아서 약간 헤매었다. 1차원 배열의 길이는 Array.Length로 간단하게 구할 수 있었지만 2차원 배열에 바로 써버리면 행렬의 길이가 아닌 전체 배열의 길이가 구해져버려서 낭패를 봤다. Array.GetLength 메서드를 검색으로 알아내어 해결!
Array.GetLength(0)
2차원 배열의 '행'의 길이
Array.GetLength(1)
2차원 배열의 '열'의 길이
스토리와 전체적인 기획을 맡았다. 의도한 것은 아니지만 또 또!! 코드 작성과는 거리가 먼 역할을 맡게 되었는데 이왕 이렇게 된 거 아주 극한까지 스토리와 연출을 구성하는 것이 방법이라고 생각한다. 한국 특유의 신파와 다양한 상상들을 통달한 나에게 딱 맞기도 한 역할이라는 생각도 든다.