본문 바로가기

전체 글40

CodeSignal 5번 shapeArea 문제풀이 이 문제는 n번째 도형이 몇개의 사각형으로 이루어졌는지 구해야합니다. 제가 처음으로 푼 코드는 아래와 같습니다. def shapeArea(n): if n == 1: return 1 shape = [i * 2 - 1 for i in range(1, n + 1)] shape += shape[n - 2::-1] return sum(shape) 제 방식은 n번째 도형 각층의 개수를 위층에서부터 숫자로 나타내 더해주는 방식입니다. 예를들어 n이 2라면 shape는 [1,3,5,3,1]이 되고 이를 합해 총 개수를 구합니다. 하지만 이 문제에서 파이썬 1위 코드는 다음과 같았습니다. def shapeArea(n): return n**2 + (n-1)**2 위 코드는 도형을 가운데층을 포함한 윗부분과 포함하지않은 아.. 2020. 1. 7.
CodeSignal 1번~3번 문제풀이 1. Add 두 입력의 합을 구하는 문제입니다. def add(param1, param2): return param1+param2 2. centuryFromYear 입력받은 숫자가 속한 세기를 구하는 문제입니다. def centuryFromYear(year): return year//100+1 if(year%100!=0) else year//100 3.checkPalindrome 입력받은 문자의 대칭 여부를 반환하는 문제입니다. def checkPalindrome(inputString): return inputString[::-1]==inputString 2020. 1. 7.
백준 5585번 거스름돈 C#풀이 1000원을 내고 최소 몇개의 동전으로 거스름돈을 받을수있는지 출력하는 문제입니다. 그리디 알고리즘을 사용해요 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 using System; class Program { static void Main(string[] args) { // 받을 거스름돈입니다. int change = 1000 - int.Parse(Console.ReadLine()); // 나중에 출력할 받을 동전의 최소 개수입니다. int count = 0; // 내림차순으로 정렬되있는 동전의 종류입니다. int[] coins = { 500, 100, 50, 10, 5, 1 }; /.. 2019. 12. 14.
C# 소수 개수 구하기-1 이번 글에서는 N을 입력받고 1부터 N까지 소수 개수를 출력하는 프로그램을 만들어 보겠습니다. 먼저 소수는 1과 자기 자신으로만 딱 나눠 떨어진다는 특징을 가지고 있기 때문에 x가 소수인지 아닌지 알기 위해 2부터 x-1까지의 수로 x를 나눴을때 나머지들이 0이 아니라면 이 수는 소수라고 할수 있겠죠? 이를 함수로 구현해 보면 다음과 같습니다. static bool isPrime(int x) { // 0과 1은 소수가 아니기 때문에 예외처리 해주겠습니다. if (x < 2) return false; //n이 2이상이라면 아래 코드를 실행합니다. for (int i = 2; i < x; i++) { // 만약 x/i가 나머지가 0이라면 if (x % i == 0) // 소수가 아니므로 거짓을 반환합니다. .. 2019. 12. 9.