Til 을 통해 github 사용법 정리와 sourcetree 사용법 익힘.
github-sourcetree 연동 사용법
github 현업 사용법
github commit 수정관련 정리
algorighm 문제가 심화되면서 전에 배운 내용부터 복습하기로 함.
week_1 주차 복습
최대값 찾기 :
for문을 통해 array를 돌림 > array의 i 값이 num 값 보다 크면 num에 i 저장
def find_max_num(array):
num = 0
for i in array:
if i > num:
num = i
return num
print("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4]))
print("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6]))
print("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888])
최빈값 찾기 : 주어진 문자열에서 가장 많이 나온 알파벳 찾기
알파벳은 아스키코드를 이용하여 숫자로 변경가능!!
alphabet_occurred_array에 알파벳이 나올때 마다 그 index에 +1 을 해주어
최다 빈도의 알파벳 index를 알 수 있고
아스키 코드로 최다빈도의 index를 찾아 다시 문자로 변경해주어 찾을 수 있다.
모르면 풀기 어려울 문제.
def find_max_occurred_alphabet(string):
alphabet_occurred_array = [0] * 26
for alpha in range(len(string)):
if string[alpha].isalpha():
alphabet_index = ord(string[alpha]) - ord('a')
alphabet_occurred_array[alphabet_index] += 1
x = alphabet_occurred_array.index(max(alphabet_occurred_array))
z = chr(x + ord('a'))
return z
print("정답 = a 현재 풀이 값 =", find_max_occurred_alphabet("Hello my name is sparta"))
print("정답 = a 현재 풀이 값 =", find_max_occurred_alphabet("Sparta coding club"))
print("정답 = s 현재 풀이 값 =", find_max_occurred_alphabet("best of best sparta"))
array에 숫자가 포함되어 있나 찾기 :
주어진 array를 while문으로 돌려 number가 in 이면 True, 없으면 False 반환
def is_number_exist(number, array):
while number in array:
return True
else:
return False
result = is_number_exist
print("정답 = True 현재 풀이 값 =", result(3,[3,5,6,1,2,4]))
print("정답 = Flase 현재 풀이 값 =", result(7,[6,6,6]))
print("정답 = True 현재 풀이 값 =", result(2,[6,9,2,7,1888]))
처음 반복이 끝나는 문자열 찾기 :
최다빈도 알파벳 찾기 코드를 가져와 반복되지 않아 1회만 나온 알파벳 위치를 파악하고, 다시 아스키코드로 되돌려 알파벳을 찾는다.
이 때, 이렇게만 찾으면 d, c 가 나왔어도 c 가 출력되게 되므로
이 d, c를 행렬에 다시 저장하고 array에 포함될시 출력을 하게 짜므로
처음 반복이 끝나는 문자열을 출력할 수 있다!
def find_not_repeating_first_character(string):
alphabet_occurred_array = [0] * 26
for alpha in range(len(string)):
if string[alpha].isalpha():
alphabet_index = ord(string[alpha]) - ord('a')
alphabet_occurred_array[alphabet_index] += 1
no_alphabet = []
for no_alpha in range(len(alphabet_occurred_array)):
if alphabet_occurred_array[no_alpha] == 1:
no_alphabet.append(chr(no_alpha + ord('a')))
for char in string:
if char in no_alphabet:
return char
return "_"
result = find_not_repeating_first_character
print("정답 = d 현재 풀이 값 =", result("abadabac"))
print("정답 = c 현재 풀이 값 =", result("aabbcddd"))
print("정답 =_ 현재 풀이 값 =", result("aaaaaaaa"))
오 깃헙이 쉬워졌다니... 멋집니다!!!