목록전체 글 (38)
개발블로그

논리적으로 생각하는게 부족한 것 같아서 프로그래머스 문제를 레벨 1,2 부터 순차적으로 풀면서 연습을 해보려고 한다. 첫번째로 풀어본 간단한 문제 내적. 간단한 문제여서 오래 생각 않고 금방 풀었는데, 지금 캡쳐해서 게시글 올리려고 다시보니 왜이렇게 짰나 싶은 느낌이 든다. using System; public class Solution { public int solution(int[] a, int[] b) { int answer = 0; int sum = 0; for(int i = 0; i < a.Length; i++) { sum = a[i] * b[i]; answer += sum; } return answer; } } 처음에 이렇게 코드를 짰었는데 굳이 sum 변수를 선언하지 않고 answer += ..

🤦♀️ 매일 유니티에서 스크립트 생성해서 런타임으로 실행 결과를 확인했었던지라 C# 프로젝트 콘솔창 띄워볼 일이 거의 없었어서 매번 콘솔창 띄우는 프로젝트가 헷갈려서 기억하려고 정리를 해본다. (이런건 이제 기본으로 알아두도록 하자...!) ✔ Visual Studio 2019 실행 - 새 프로젝트 추가 (1) 언어 목록에서 C#을 선택한 뒤, 플랫폼 목록에서 Windows를 선택한다. (2) 언어 및 플랫폼 필터를 적용한 후 콘솔앱(.NET Core) 템플릿을 선택한 후, 다음 선택. 그럼 프로젝트의 기본 "Hello World" 코드가 포함된 코드가 나타난다. 그대로 실행해보면 콘솔창에 로그가 정상적으로 출력되는 것을 확인할 수 있다. * 공부하는 단계입니다. 잘못된 내용이 있다면 피드백 부탁드립니..

* 탐욕 알고리즘 미래를 생각하지 않고 각 단계에서 최선의 선택을 하는 알고리즘. 각 단계에서 최선의 선택을 한 것이므로, 전체적으로도 최선을 바라는 알고리즘이다. -> 여러 경우 중 하나를 선택할 때 그 상황에서 가장 좋다고 생각하는 것을 선택하는 것. 하지만 이 선택이 최선의 선택이지 최고의 선택은 아니다. 즉, 최적해를 구하는 상황에서 사용하는 알고리즘. Greedy의 가장 큰 장점은 속도에 있다. Greedy 방법이 통하는 몇몇의 문제에서는 최적해를 빠르게 산출해 낼 수 있다. 빠른 계산 속도의 장점으로 Dynamic Programming의 단점을 보완하는 개념으로 사용할 수 있다. 해 - 방정식, 혹은 부등식을 충족하는 미지수의 값. 최적해 - 선형 계획법에서 제약 조건을 충족시킬 수 있는 해 ..