TIL

20231027 TIL

김빵그 2023. 10. 27. 18:54

Today 요약

[] 프로그래머스 코딩테스트 2문제

[] Do it 플러터 다트 ~100P

[] 옵시디언 정리


배운 점

1. JavaScript

1. 유클리드 호제법

  • 2개의 자연수 또는 최대공약수를 구하는 알고리즘의 하나이다
  • 호제법 ? 두 수가 서로 상대방 수를 나누어 결국 원하는 수를 얻는 알고리즘을 나타내며, 2개의 자연수 a, b에 대해 a를 b로 나눈 나머지를 r이라 하면 a와 b의 최대공약수는 b와 r의 최대공약수와 같다
  • 알고리즘
    • 입력으로 두 수 m,n (m > n)이 들어온다 
    • n 이 0이라면 m을 출력하고 알고리즘 종료 
    • m이 n으로 나누어 떨어지면 n을 출력하고 알고리즘 종료
    • 그렇지 않으면 m을 n으로 나눈 나머지를 새롭게 m에 대입하고 m과 n을 바꾼후 다시 나누어 떨어지는 지 확인
 public static int gcd(int p, int q)
 {
	if (q == 0) return p;
	return gcd(q, p%q);
 }
https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95

2. Dart 

2-1 Dart List 타입

  • 특정한 타입의 데이터만 저장하는 리스트를 선언할 때는 제네릭(Generic)으로 명시해주면 된다
  • 제네릭은 클래스나 메서드에서 사용할 내부 데이터 타입을 컴파일 타임에 미리 지정하는 방법이다