본문 바로가기

분류 전체보기213

[프로그래머스] - 3진법 뒤집기(C#) 3진법 뒤집기 오늘 풀어볼 문제는 월간 코드 챌린지 시즌1 출제문제 "3진법 뒤집기" 입니다. 그럼 문제를 살펴보겠습니다. 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 n result 45 7 125 229 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전 (3진법) 10진법으로 표현 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법).. 2023. 8. 14.
게임개발 중급(76) - Monster Killer(38) Monster Killer(38) 안녕하세요 이전에는 Monster Killer의 방향성에 대해 말씀드리고 앞으로 어떤 게임이 만들어지고, 어떤 주기로 글이 올라가는지에 대해 말씀드렸습니다. 오늘은 말씀드렸듯이 바뀐 Monster Killer에 대해서 조금 살펴보도록 하겠습니다. 바뀐 메인화면 겉보기에는 크게 달라진 점이 없습니다. 기존에는 Play, Restart, Settings, Exit 4가지의 버튼만 존재했었는데 이름도 바뀌고 갯수도 바뀌었습니다. 그리고 개수가 늘어남에 따라 UI의 배치도 약간 바뀌었습니다. 모드 설명 우선, 변경된 모드에 대한 설명을 드리겠습니다. 총 4가지의 모드로 나뉘어져 있고, Killer Mode(성장 모드), Hunt Mode(사냥 모드), Boss Mode(보스 모.. 2023. 8. 13.
[프로그래머스] - 최대공약수와 최소공배수(C#) 최대공약수와 최소공배수 오늘은 "최대공약수와 최소공배수" 문제를 풀어보도록 하겠습니다. 바로 문제 살펴보겠습니다. 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예 n m return 3 12 [3, 12] 2 5 [1, 10] 입출력 예 설명 입출력 예 #1 위의 설명과 같습니다. 입출력 예 #2 자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10.. 2023. 8. 12.
[프로그래머스] - 직사각형 별찍기(C#) 직사각형 별찍기 오늘은 "직사각형 별찍기" 문제를 풀어보도록 하겠습니다. 바로 문제를 살펴보겠습니다. 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 시작 코드 using System; public class Example { public static void Main() { String[] s; Console.Clear(); s = Console.ReadLine().Split(' '); int a = Int32.Parse(s[0]); int b = Int32.Parse(s[.. 2023. 8. 11.
[프로그래머스] - 행렬의 덧셈(C#) 행렬의 덧셈 이번에 다룰 문제는 "행렬의 덧셈" 입니다. 이제부터 정답률은 70%대로 내려오게 되었습니다. 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 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, .. 2023. 8. 10.
[프로그래머스] - 문자열 다루기 기본(C#) 문자열 다루기 기본 오늘은 "문자열 다루기 기본" 문제를 풀어보도록 하겠습니다. 해당 문제가 마지막 정답률 80% 문제입니다. 이후부터는 70% 대로 떨어지게 됩니다. 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 입출력 예 s return "a234" false "1234" true 시작 코드 public class Solution { public bool solution(string s) { bool.. 2023. 8. 9.
게임개발 중급(75) - Monster Killer(37) <방향성 설정> Monster Killer(37) 안녕하세요 여러분. 정말 오랜만에 다시 찾아뵙게 되었습니다. 이렇게 오랜만에 돌아온 이유는 제가 만들고 있는 Monster Killer 게임의 방향성을 더욱 더 확고하게 다지기 위함이었습니다. 방향성 정하기 처음 유니티 교과서에 소개 된 밤송이 게임을 시작으로, 게임을 변형시키면서 저 만의 게임으로 만들어 나가고 있었습니다. 하지만, 딱히 정해놓은 장르라던가 어떤 게임을 만들고 싶은지에 대한 내용이 없었던 것 같습니다. 그래서 저 스스로도 만들어 나가고는 있지만, 허전한 느낌을 받았습니다. 그래서 잠시 건강이 악화되어 손을 놓았던 시기부터 방향성을 다시 설정하여 제대로 된 게임으로 만들어 나가고 싶었습니다. Monster Killer의 방향성 결론은 다시 돌아온 이유는 .. 2023. 8. 8.
[프로그래머스] - 부족한 금액 계산하기(C#) 부족한 금액 계산하기 이번에는 위클리 챌린지 출제문제인 "부족한 금액 계산하기"를 풀어보도록 하겠습니다. 이 문제의 정답률은 80%이고 이제 곧 있으면 70%대에 진입하게 됩니다. 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한 사항 놀이기구의 이용료 price : .. 2023. 8. 7.
[프로그래머스] - 문자열 내림차순으로 배치하기(C#) 문자열 내림차순으로 배치하기 이번에는 "문자열 내림차순으로 배치하기" 문제를 풀어보도록 하겠습니다. 문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" 시작 코드 public class Solution { public string solution(string s) { string answer = ""; return answer; } } 나의 풀이 using System; public class Solution { public st.. 2023. 8. 6.
[프로그래머스] - 약수의 개수와 덧셈(C#) 약수의 개수와 덧셈 이번에는 월간 코드 챌린지 시즌2 출제문제인 "약수의 개수와 덧셈"을 다뤄보도록 하겠습니다. 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ left ≤ right ≤ 1,000 입출력 예 left right result 13 17 43 24 27 52 입출력 예 설명 입출력 예 #1 다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다. 수 약수 약수의 개수 13 1, 13 2 14 1, 2, 7, 14 4 15 1, 3, 5, 15 4 16 1, 2, 4, 8.. 2023. 8. 5.