c#

[서론]최근 문제 풀이 실력이 늘지 않아. 지금까지 풀지 않았던 문제를 풀어보는 중이다.오늘 0단계 문제 중 구슬을 나누는 경우의 수를 풀다가 반올림을 해줄 필요성을 느껴 찾아본 결과Math.Round() 라는 반올림을 해주는 매서드를 처음 알게되었다. 그래서 이렇게 기록을 남긴다. 1. 문제설명머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.2. 제한사항● 1 ≤ balls ≤ 30 ● 1 ≤ share ≤ 30 ● 구슬을 고르는 ..
1. 문제설명철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이크를 공평하게 나눠먹으려 하는데, 그들은 롤케이크의 크기보다 롤케이크 위에 올려진 토핑들의 종류에 더 관심이 많습니다. 그래서 잘린 조각들의 크기와 올려진 토핑의 개수에 상관없이 각 조각에 동일한 가짓수의 토핑이 올라가면 공평하게 롤케이크가 나누어진 것으로 생각합니다.예를 들어, 롤케이크에 4가지 종류의 토핑이 올려져 있다고 합시다. 토핑들을 1, 2, 3, 4와 같이 번호로 표시했을 때, 케이크 위에 토핑들이 [1, 2, 1, 3, 1, 4, 1, 2] 순서로 올려져 있습니다. 만약 세 번째 토핑(1)과 네 번째 토핑(3) 사이를 자르..
1. 문제설명정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.n행 n열 크기의 비어있는 2차원 배열을 만듭니다.i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다.1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다.새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다.정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요.2. 제한사항● 1 ≤ n ≤ 1..
1. 문제설명XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다.예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과 2개, 쌀 2개, 돼지고기 2개, 냄비 1개이며, XYZ 마트에서 14일간 회원을 대상으로 할인하는 제품이 날짜 순서대로 치킨, 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비, 바나나, 사과, 바나나인 경우에 대해 알아봅시다. 첫째 날부터 열흘 간에는 냄비가 할인하지 않기 때문에 첫..
1. 문제설명경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다.예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의 종류가 2, 3, 5로 총 3가지가 되며 이때가 서로 다른 종류가 최소일 때입니다.경화가 한 상자에 담으려는 귤의 개수 k와 귤의 크기를 담은 배열 tangerine이 매개변수로 주어집니다. 경화가 귤 k개를 고를 때 크기가 ..
1. 문제설명효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는(1칸, 1칸, 1칸, 1칸)(1칸, 2칸, 1칸)(1칸, 1칸, 2칸)(2칸, 1칸, 1칸)(2칸, 2칸)의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다.2. 제한사항● n은 1 이상, 2000 이하인 정수입니다.3. 입출력 예시nreturn45334. 나의풀이첫 시도에는 1과 2로만 이뤄져있어 중복조합으로 문제를 풀어보았다...
캐릭터(솔져) 스킬 만들기솔져의 스킬 기능을 구현해봤습니다. 좌shift - 달리기(이속up)E스킬 - 생체장(자힐)마우스 우클릭 - 나선로켓 1) 달리기는 캐릭터의 이동속도를 높여주고, 달리기 애니메이션을 플레이해줍니다.2) 생체장스킬은 생체장과 비슷한 오브젝트를 만들어서 캐릭터 포지션에 설치한 후 캐릭터의 부족한 체력을 채워줍니다.3) 나선로켓은 일정속도와 일정회전력을 가지면서 나아가고, 오브젝트와 닿았을 때 사라지며 이펙트를 플레이합니다. 직격뎀과 거리별 스플래쉬데미지를 아직 구현하지 않아서 나선로켓은 미완성입니다.         [SkillManager.cs]public class SkillManager : MonoBehaviour{ UnitController unitController; ..
1. 문제설명 2. 나의풀이완전탐색 알고리즘 문제로 나온 프로그래머스 2단계 카펫 문제.입출력 예시를 유심히 보고  brown과 yellow의 합의 약수 중 짝지어진 두 수의 곱이라는 것을 깨달음.answer의 0번방에는 가로의 길이 즉, 1번방인 세로보다 같거나 큰 수가 와야하기 때문에 빠르게 가로의 길이를 구해주기 위해 반복문을 뒤에서부터 탔음.아래 코드에서 num은 i보다 같거나 작을 수 밖에 없음.num은 무조건 2보다 큼. yellow가 최소 1이기때문에 최소 가로 세로 길이는 3임.가로, 세로를 구하고 2배를 더해주면 4개의 꼭짓점이 중복으로 더해짐. 그래서 -4해줌.         public int[] solution(int brown, int yellow) { int[]..
1. 문제설명JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.2. 제한사항● s는 길이 1 이상 200 이하인 문자열입니다. ● s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.    ○ 숫자는 단어의 첫 문자로만 나옵니다.     ○ 숫자로만 이루어진 단어는 없습니다.     ○ 공백문자가 연속해서 나올 수 있습니다.3. 입출력 예시sreturn"3people unFollowed me""3people Unfollowed Me""f..
1. 문제설명길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.)예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면● A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) ● A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = ..
ForMan_
'c#' 태그의 글 목록