Study 12

[디자인패턴 - javascript] 파트2

☆Strategy(전략가) 패턴  - 그때그때 상황에 맞게 갈아 끼울 수 있는 패턴   ★. 하나의 패턴으로 여러가지 방식을 모두 실행 해 볼 수 있다. . 커맨드패턴은 객체를 갈아낄수 없지만. 전략가 패턴은 갈아끼울 수있다. . 여러가지 방식을 갈아껴서 실행하고 싶을 때 사용하면 좋습니다. . 하나의 문제사항을 다양한 알고리즘으로 풀어서 처리하는 속도(비용)을 비교할 수 있다.  // Strategy(전략가) 패턴은 생성자에서 셋팅 및 수행을 하지 않음..class StrategyRunner {  constructor() {}  // Setter함수를 통해서 전략을 설정 후  setStrategy(strat) {    this.strategy = strat;  }  // 해당 전략에 대한 실행부는 따로..

Study 2024.10.27

[디자인패턴 - javascript] 파트1

☆ 빌더 패턴 - 복잡한객체를 완성도 있게 만드는 패턴   ★. 객체생성 자체가복잡한 경우. 필수 / 선택속성이 나뉘어져있는경우. 객체가 완성된건지 궁금한경우class Person {  // constructor(name, age, address) {  //     if (!name) {  //       throw new Error("name required!!");  //     }  //     this.name = name;  //     this.age = age;  //     this.address = address;  //   }  constructor(builder) {    this.name = builder.name;    this.age = builder.age;    this.ad..

Study 2024.10.23

[ javascript && Python ] 알고리즘 챌린지 "Part4"

about:blank Question31. 등수매기기 영어 점수와 수학 점수의 평균점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어점수와 수학점수를 담은 2차원 정수배열 score 가 주어질 때, 영어 점수와 수학점수의 평균을 기준으로 매긴 등수를 담은 배열을 return 하도록 solution함수를 완성해보세요. Cf) Score result [ [80,70],[90,50],[40,70],[50,80] ] [1, 2, 4, 3] # javascript 답안 function solution(score) { // Step1. 각 수학영어 점수의 합산을 진행한 배열을 구한다. // 150, 140, 110, 130 let totalSum = score.map((v) => v[0] + v[1]); // ..

Study 2023.03.03

[ javascript && Python ] 알고리즘 챌린지 "Part3"

about:blank Question21. 팩토리얼 i 팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질때 다음조건을 만족하는 가장 큰 정수 i를 return 하도록 solution함수를 완성해보세요. 조건 i! { return obj[v] })); } # python 답안 ##### 방법1 def solution(numbers): return int(numbers.replace('one', '1').replace('two', '2') .replace('three', '3').replace('four', '4') .replace('five', '5').replace('six', '6') .replace('se..

Study 2023.02.13

[ javascript && Python ] 알고리즘 챌린지 "Part2"

about:blank Question11. 배열 두배 만들기 정수배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return 하도록 solution함수를 완성해보세요. # javascript 답안 function solution(numbers) { return numbers.map(v => v * 2); } // map 함수의 역할로 써 특정 요소만 추출하는 목적으로도 사용한다. Cf). var data = [ { name, age, address, email, favorite }, { name, age, address, email, favorite }, { name, age, address, email, favorite }, ]; // data 의 na..

Study 2023.01.29

[ javascript && Python ] 알고리즘 챌린지 "Part1"

Question1. 몫 구하기 정수 "Num1", "Num2" 가 매개변수로 주어질 때. "Num1"을 "Num2" 로 나눈몫을 return 하도록 solution 함수를 완성해 주세요. # javascript 답안 function solution(num1, num2) { // Math floor - 내림 (몫만 구할 수 있다.) //var answer = Math.floor(num1 / num2); // 다른방법 (~~연산) // -(n+1) var answer2 = ~~(num1 / num2); return answer2 || answer; } solution(10, 4); // 2 solution(7, 2); // 3 Question2. 나머지 구하기 정수 "Num1", "Num2" 가 매개변수로 ..

Study 2023.01.17

[Study] 함수형 프로그래밍 정리.

[ Condition: 함수형 프로그래밍이 되기위한 조건 ] 1. Pure Function let num = 1; // Pure Function (X) function add(a) { return a + num; } // Pure Function (O) function add(a, b) { return a+b; } const sum_result = add(1,2); * 외부에 있는 값을 참조하거나, 외부의 상태값을 변경 (X) >>> "Pure 위반, 함수형 프로그래밍에 어긋남" 2. Stateless, Immutability (비상태, 불변성 유지) let person = { name: 'ukjae', age: 35 } // Stateless, Immutability(X) function increas..

Study 2022.06.08

[Flutter] 플러터 Exercise(1)

[ Flutter 환경셋팅 ] 1. Fultter SDK (WebBrowser Download) * Path >> C:\flutter 2. Andriod Studio Download (Default Setting..) * SDK Folder, JDK Location * Plugins >> Flutter Install * Project >> More Actions >> SDK Manager >> SDK Tools(TAP) >> Android SDK Command-line Tools (latest) 3. 환경변수 등록 ( PC- 시스템고급설정 ) * 사용자변수 Path에 "Flutter/bin" 까지의 경로추가 4. 기타설정 * CMD(명령프롬포트) >>> "flutter doctor" (플러터 개발환경 여..

Study 2022.05.15

[Linux 자격증 2차시험] Shell.(쉘) 정리

Bash Shell - 본 쉘을 기반으로 하여 GNU프로젝트에 의해 개발되었다. 다양한 운영체제에서 사용하며 리눅스 표준쉘 C Shell - 버클리 빌 조이 개발, C언어 기반. [ 쉘 관련파일 & 디렉토리] [ Desc ] /etc/bashrc 시스템 전체에 적용되는 Alias 및 함수설정 .bash_profile 사용자의 환경설정과 프로그램설정관련 --> 로그인 시 읽어들인다. (지역적인 설정) .bashrc 사용자가 지정한 Alias와 함수들이 밀집해있는파일 .bash_logout 사용자가 로그아웃 시 수행하는 설정작업지정 /etc/profile 시스템전체에 적용되는 환경변수 와 시작관련 프로그램 설정 (전역적인설정) /etc/profile.d 응용프로그램 시작에 필요한 스크립트가위치하는 디렉토리 ..

Study 2022.01.23