TIL|アルゴリズム基礎#3&Git
12759 ワード
再帰関数-2
小数点以下の桁数と再帰関数で値を求める
# n의 각 자릿수의 합을 리턴
def sum_digits(n):
if n < 10:
return n
return n % 10 + sum_digits(n // 10)
# 테스트
print(sum_digits(22541))
print(sum_digits(92130))
print(sum_digits(12634))
print(sum_digits(704))
print(sum_digits(3755))
14
15
16
11
20
リストを反転
# 파라미터 some_list를 거꾸로 뒤집는 함수
def flip(some_list):
if len(some_list) == 1:
return some_list
return some_list[-1:] + flip(some_list[:-1])
# 테스트
some_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
some_list = flip(some_list)
print(some_list)
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Brute Force
できる限り
長所
-直感的に明確
-答えを見つけられる
短所
-入力量が多いと効率が低下します
例1
左の束から1枚の札を引いて、右の束から1枚の札を引いて、2つの数の積の中から最大の値を求めます
-可能なすべての組み合わせを確認するために、重複する文を検索→リストとして保存→前後で最大値を比較するかどうかを検討し、リストを並べ替えて最大値を表示します.def max_product(left_cards, right_cards):
# 모든 곱셈의 값을 담기위한 list 생성
multi_list = []
# 가능한 모든 조합을 보기 위한 중첩 반복문
for i in left_cards:
for j in right_cards:
multi_list.append(i * j)
multi_list.sort()
return multi_list[-1]
# 테스트
print(max_product([1, 6, 5], [4, 2, 3]))
print(max_product([1, -9, 3, 4], [2, 8, 3, 1]))
print(max_product([-1, -7, 3], [-4, 3, 6]))
24
32
28
Git
機能
-バージョン管理
-コラボレーション可能
-ファイルを外部コンピュータに転送可能(バックアップ可能)
Github
-プロジェクトをGitとして管理できるサイト
基本概念
Commit 커밋
-プロジェクトディレクトリの特定の外観を1つのバージョンに保持する動作&成果物Repository 레포지토리
-コミットされた保管場所
リポジトリの作成
$ mkdir MathTool # mkdir 폴더명. 디렉토리 생성하기
$ ls # 리스트 확인하기
$ cd MathTool/ # 폴더 안으로 들어가기
$ git init # 비어있는 레포지토리 생산하기
Commitの注意事項
1.初回発行前設定사용자의 이름과 이메일 주소
2.提出するファイルをgit add
と指定
3.伝言提出(옵션 -m)
<例># 파일 들어가기
$ cd ..
# 파일 생성확인(Lisence, calculator.py 파일 생성 후)
$ ls -al
#사용자 이름 및 이메일 주소 설정
$ git config user.name "ash"
$ git config user.email "**@gmail.com"
# 커밋할 파일을 git add로 지정해줘야 함
$ git add calculator.py
$ git add License
# 커밋 메세지 포함하여 커밋 실행
$ git commit -m "Creat calculator.py and License"
羽毛整理用語
# n의 각 자릿수의 합을 리턴
def sum_digits(n):
if n < 10:
return n
return n % 10 + sum_digits(n // 10)
# 테스트
print(sum_digits(22541))
print(sum_digits(92130))
print(sum_digits(12634))
print(sum_digits(704))
print(sum_digits(3755))
14
15
16
11
20
# 파라미터 some_list를 거꾸로 뒤집는 함수
def flip(some_list):
if len(some_list) == 1:
return some_list
return some_list[-1:] + flip(some_list[:-1])
# 테스트
some_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
some_list = flip(some_list)
print(some_list)
[9, 8, 7, 6, 5, 4, 3, 2, 1]
できる限り
長所
-直感的に明確
-答えを見つけられる
短所
-入力量が多いと効率が低下します
例1
左の束から1枚の札を引いて、右の束から1枚の札を引いて、2つの数の積の中から最大の値を求めます
-可能なすべての組み合わせを確認するために、重複する文を検索→リストとして保存→前後で最大値を比較するかどうかを検討し、リストを並べ替えて最大値を表示します.
def max_product(left_cards, right_cards):
# 모든 곱셈의 값을 담기위한 list 생성
multi_list = []
# 가능한 모든 조합을 보기 위한 중첩 반복문
for i in left_cards:
for j in right_cards:
multi_list.append(i * j)
multi_list.sort()
return multi_list[-1]
# 테스트
print(max_product([1, 6, 5], [4, 2, 3]))
print(max_product([1, -9, 3, 4], [2, 8, 3, 1]))
print(max_product([-1, -7, 3], [-4, 3, 6]))
24
32
28
Git
機能
-バージョン管理
-コラボレーション可能
-ファイルを外部コンピュータに転送可能(バックアップ可能)
Github
-プロジェクトをGitとして管理できるサイト
基本概念
Commit 커밋
-プロジェクトディレクトリの特定の外観を1つのバージョンに保持する動作&成果物Repository 레포지토리
-コミットされた保管場所
リポジトリの作成
$ mkdir MathTool # mkdir 폴더명. 디렉토리 생성하기
$ ls # 리스트 확인하기
$ cd MathTool/ # 폴더 안으로 들어가기
$ git init # 비어있는 레포지토리 생산하기
Commitの注意事項
1.初回発行前設定사용자의 이름과 이메일 주소
2.提出するファイルをgit add
と指定
3.伝言提出(옵션 -m)
<例># 파일 들어가기
$ cd ..
# 파일 생성확인(Lisence, calculator.py 파일 생성 후)
$ ls -al
#사용자 이름 및 이메일 주소 설정
$ git config user.name "ash"
$ git config user.email "**@gmail.com"
# 커밋할 파일을 git add로 지정해줘야 함
$ git add calculator.py
$ git add License
# 커밋 메세지 포함하여 커밋 실행
$ git commit -m "Creat calculator.py and License"
羽毛整理用語
$ mkdir MathTool # mkdir 폴더명. 디렉토리 생성하기
$ ls # 리스트 확인하기
$ cd MathTool/ # 폴더 안으로 들어가기
$ git init # 비어있는 레포지토리 생산하기
# 파일 들어가기
$ cd ..
# 파일 생성확인(Lisence, calculator.py 파일 생성 후)
$ ls -al
#사용자 이름 및 이메일 주소 설정
$ git config user.name "ash"
$ git config user.email "**@gmail.com"
# 커밋할 파일을 git add로 지정해줘야 함
$ git add calculator.py
$ git add License
# 커밋 메세지 포함하여 커밋 실행
$ git commit -m "Creat calculator.py and License"
Reference
この問題について(TIL|アルゴリズム基礎#3&Git), 我々は、より多くの情報をここで見つけました https://velog.io/@sihaha/TIL-알고리즘-기초3-Gitテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol