본문 바로가기

Basic9

SOLID와 MVC 설계단계에서 어떤 아키텍처를 선택하여 설계를 진행할 것인지는 결국엔 프로그램의 전체적인 방향성, 비용과 시간에 직결된 문제이다. Robert C. Martin은 다섯 가지 지침을 개발했다. 다섯 가지 지침과 원칙을 통해 개발자는 읽기 쉽고 유지 보수가 쉬운 프로그램을 쉽게 만들 수 있다. 다섯 가지 원칙은 S.O.L.I.D이다. S: Single Responsibility Principle (단일 책임원칙) O: Open-Closed Principle (열린-닫힌 원칙) L: Liskov Substitution Principle (리스 코프 치환 원칙) I: Interface Segregation Principle (인터페이스 분리 원칙) D: Dependency Inversion Principle (의.. 2021. 9. 1.
숫자 문자열과 영단어 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr const numberName = { 'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9 } const number = '1234567890' function solution(s) { let result = '.. 2021. 8. 13.
비밀지도 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr function solution(n, arr1, arr2) { let mergeArr = []; for (let i=0; ix.toString(2).padStart(n, '0').replace(/1/g,'#').replace(/0/g,' ')) } replace에 정규표현식을 쓰자. Javascript에는 replaceAll이 없다. padStart로 칸.. 2021. 8. 13.
로또의 최고 순위와 최저 순위 https://programmers.co.kr/learn/courses/30/lessons/77484#fnref1 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr const hitToRank = { 6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6 } function solution(lottos, win_nums) { const undefinedNumber = lottos.filter(num=>num===0).length; const hit.. 2021. 8. 13.
[코드스피츠] Compile Language vs Script Language 해당 게시글은 코드 스피츠 동영상의 정리 내용이다. Program은 물리적인 파일인 컴퓨터의 실행파일을 실행해서 OS가 메모리에 적재한 상태이다. 즉, 메모리에 명령과 값으로 분리되어서 올라간 것들이 프로그램이다. 적재되어있는 명령들을 다 소비하게 되면 프로그램은 종료된다. 명령(Instruction)과 값들을 메모리에 적재하는 과정을 Loading이라 한다. 명령어는 메모리에 있는 값들을 참조해서 다시 갱신하는 것이다. 프로그램이란 명령어가 값으로 메모리에 적재되고, 명령이 처음부터 끝까지 다 실행되면 종료되는 것이다. Compile Language 컴파일 언어의 경우, 컴파일된 결과물들은 아래 동작을 진행한다. ESSENTIAL DEFINITION LOADING 프로그램이 실행하기위한 가장 기초적인 .. 2021. 8. 10.
Factory Method Pattern ReactElement.js를 보다가 주석에서 Factory method를 보았다. Factory method(Virtual Constructor)는 무엇인가? // ReactElement.js ("react": "^15.4.2") /** * Factory method to create a new React element. This no longer adheres to * the class pattern, so do not use new to call it. Also, no instanceof check * will work. Instead test $$typeof field against Symbol.for('react.element') to check * if something is a React E.. 2021. 8. 4.