๋ฌธ์ ์ ํด๊ฒฐ
์ ์ํ์ฌ, ์
๋ ฅ๋ ์๋ฃ๋ฅผ ํ ๋๋ก ์ํ๋ ์ถ๋ ฅ์ ์ ๋ํ์ฌ ๋ด๋ ๊ท์น์ ์งํฉ์ข์ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํด
์ข์ ํ๋ก๊ทธ๋จ
์ ๊ตฌํํ ์ค ์์์ผํจ์ ์ ๊ณต๊ฐ์ ์ด์ฉ ๋น ๋ฅธ ์๋๋ก ์ํ
ํ๋ ํ๋ก๊ทธ๋จํน์ ์๋ฃ๊ตฌ์กฐ
๋ ์ ๊ทผ๋ฐฉ๋ฒ
์ ์ฌ์ฉํด์ผ ํจ์ข์ ํ์ฌ์ ์ทจ์งํ๊ธฐ ์ํด
์ ๋ง IT๊ธฐ์
์ธ์๋ ๋ง์ ์คํํธ์
๊น์ง ์ฝ๋ฉํ
์คํธ๋ฅผ ๊ฐ๋ฐ์์ ํ์ ๊ด๋ฌธ
์ผ๋ก ์ผ๊ณ ์์
๊ธฐ์ด์ ์ธ ์ง์๊ณผ ํด๊ฒฐ์ฑ
์ผ๋ก ์ ์ ํ ์ฌ๊ณ
๋ฅผ ํ ์ ์๋์ง์ ๋ํ ๊ฒ์ฆ
์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด
์ด ์์ ๋ , ์ด ๋ฐฐ์ด ๋ด์์ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฐํ
ํ์์ค[3, 5, 6, 1, 2, 4]
input = [3, 5, 6, 1, 2, 4]
def find_max_num(array):
for num in array:
for compare_num in array:
if num < compare_num:
break
else:
return num
result = find_max_num(input)
print(result)
input = [3, 5, 6, 1, 2, 4]
def find_max_num(array):
max_num = array[0]
for num in array:
if num > max_num:
max_num = num
return max_num
result = find_max_num(input)
print(result)
def find_max_occurred_alphabet(string):
# ์ด ๋ถ๋ถ์ ์ฑ์๋ณด์ธ์!
return "a"
result = find_max_occurred_alphabet(input)
print("์ ๋ต = a ํ์ฌ ํ์ด ๊ฐ =", result("Hello my name is sparta"))
print("์ ๋ต = a ํ์ฌ ํ์ด ๊ฐ =", result("Sparta coding club"))
print("์ ๋ต = s ํ์ฌ ํ์ด ๊ฐ =", result("best of best sparta"))
ํ์ด์ฌ์ ๋ด์ฅํจ์ str.isalpha()
๋ฅผ ์ด์ฉ
print("a".isalpha())
print("1".isalpha())
s = "abcdefg"
print(s[0].isalpha()) # True
์ํ๋ฒณ ๋ณ๋ก ๋น๋์๋ฅผ ๋ฆฌ์คํธ์ ์ ์ฅํ๊ธฐ
# [0,0,0,0,0,0,...,0,0]
alphabet_occurrence_array = [0] * 26
์ปดํจํฐ๋ 0๊ณผ 1์ซ์ ๋ฐ์ ๋ชจ๋ฆ, ๋๋ฌธ์ ๋ฌธ์๋ ์ซ์
๋ก ๊ธฐ์ตํจ
์ด๋ ์ด๋ค ์ซ์์ ์ด๋ค ๋ฌธ์๋ฅผ ๋์
์ํค๋๊ฐ์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ์ง ์ธ์ฝ๋ฉ ๋ฐฉ์
์ด ์๋๋ฐ ํต์ ์์คํค ์ฝ๋
๋ฐฉ์์ ๋ง์ด ์ฌ์ฉํจ
# ๋ด์ฅ ํจ์ ord() ์ด์ฉํด์ ์์คํค ๊ฐ ๋ฐ๊ธฐ
print(ord('a'))
ํ์ํ๊ฒ
ํ์ํ ์ฝ๋ ์์ฑ๋ฒ
๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ
ord("์ํ๋ฒณ")
์ ์ฌ์ฉํ๋คalphabet = "a"
ord_alphabet = ord(alphabet)
print(ord_alphabet)
์ํ๋ฒณ์ด ๋ช ๋ฒ ๋ค์ด์ฌ ์ง ์ ์ฅํ ๋ฐฉ๋ฒ
alphabet_list = ["a", "b", "c", "d", "e", "f", "g",
"h", "i", "j", "k", "l", "m", "n", "o", "p",
"q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
alphabet_list = [0] * 26
์ด๋ค ์ํ๋ฒณ์ด ๊ฐ์ฅ ๋ง์ด ๋ค์ด์๋์ง ํ์ธํ ๋ฐฉ๋ฒ
๊ฐ์ฅ ๋ง์ด ๋ค์ด์จ ์ํ๋ฒณ์ ๋ฆฌํด
๋ฆฌ์คํธ.index(๊ฐ)
์ด๋ค.list_fruits = ["์ฌ๊ณผ", "๋ฐฐ", "์ฒด๋ฆฌ"]
favorite_fruit = "๋ฐฐ"
index_num = list_fruits.index(favorite_fruit)
์๊ณ ๋ฆฌ์ฆ ์์ฑ ๋ฐ ์ฝ๋ฉ
์ ๋ ฅ๋ฐ์ ๋ฌธ์๋ฅผ ์ํ๋ฒณ ๋จ์๋ก ์๋ผ๋ด๊ธฐ
list()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธ์ ๋จ์๋ก ๋ถํดํ ์ ์๋ค.source_sentence = "go go coding of co! 0719-2022"
source_list = list(source_sentence)
str.isalpha(๊ฐ)
์ ์ฌ์ฉํด์ ์ํ๋ฒณ์ธ ๊ฐ๋ง ๋ฆฌ์คํธ์ ๋ด์์ฃผ์source_list = []
for char in list(source_sentence):
if str.isalpha(char):
source_list.append(char)
์ํ๋ฒณ ๋ฆฌ์คํธ ์์ฑ
alphabet_list = [0] * 26
์ํ๋ฒณ ์นด์ดํธ
for char in source_list:
# ์ํ๋ฒณ์ ๋ฒํธ๋ก ๋ง๋ค๊ธฐ
ord(char)
# ์ํ๋ฒณ์ 0~25 ์ฌ์ด์ ์ซ์๋ก ๋ง๋๋ ค๋ฉด a~z์ ๊ฐ์์ a๋ฅผ ๋นผ์ฃผ๋ฉด ๋๋ค!
target_index = ord(char) - ord("a")
for char in source_list:
target_index = ord(char) - ord("a")
alphabet_list[target_index] += 1
์ํ๋ฒณ ์ต๋๊ฐ, ์ต๋น๊ฐ ์ฐพ๊ธฐ
max_num = alphabet_list[0]
for num in alphabet_list:
if num > max_num:
max_num = num
# ์ต๋์๋ฅผ ๊ฐ์ผ๋ก ์ธ๋ฑ์ค ์ฐพ์๋ด๊ธฐ
target_index = alphabet_list.index(max_num)
# chr์ ์ฌ์ฉํด์ ๋ค์ ๋ฌธ์๋ก ๋ณํ
target_char = chr(target_index)
source_sentence = "go go coding of co! 0719-2022"
source_list = []
for char in list(source_sentence):
if str.isalpha(char):
source_list.append(char)
alphabet_list = [0] * 26
for char in source_list:
target_index = ord(char) - ord("a")
alphabet_list[target_index] += 1
max_num = alphabet_list[0]
for num in alphabet_list:
if num > max_num:
max_num = num
target_index = alphabet_list.index(max_num)
target_char = chr(target_index)
๊ฐ ์ํ๋ฒณ๋ง๋ค ๋ฌธ์์ด์ ๋๋ฉฐ ๋ช ๊ธ์๊ฐ ๋์๋์ง ํ์ธ
๋จ์ฝ ๊ทธ ์ซ์๊ฐ ์ ์ฅํ ์ํ๋ฒณ ๋น๋ ์๋ณด๋ค ํฌ๋ฉด, ๊ทธ ๊ฐ์ ์ ์ฅํ๊ณ ์ ์ผ ํฐ ์ํ๋ฒณ์ผ๋ก ์ ์ฅ
์ด ๊ณผ์ ์ ๋ฐ๋ณต!
def find_max_occurred_alphabet(string):
# ์ํ๋ฒณ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ฆ
alphabet_array = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "x", "y", "z"]
# ์ด๊ธฐ์ ์ต๋น๊ฐ์ 0, ๋ฆฌ์คํธ์ 0๋ฒ์งธ ์ธ๋ฑ์ค๊ฐ(์ฆ, "a")์ max_alphabet์ผ๋ก ์ค์
max_occurrence = 0
max_alphabet = alphabet_array[0]
# a-z ์์ a๋ฅผ alphabet์ผ๋ก ๋๋ฆผ (๋ฐ์๋น๋๋ 0)
for alphabet in alphabet_array:
occurrence = 0
# ์ฐ๋ฆฌ๊ฐ ๋ฃ๊ณ ์ถ์ ๋ฌธ์์ด์ ์ฒซ ๊ธ์ ๋ฃ๊ธฐ(H..e..l..l.o..m.....a!)
# alphabet๊ณผ ๊ฐ์ผ๋ฉด ๋ฐ์๋น๋๋ฅผ 1 ์ฌ๋ฆฌ๊ณ ๋ค์ for ๋๋ฆผ
for char in string:
if char == alphabet:
occurrence += 1
if occurrence > max_occurrence:
max_alphabet = alphabet
max_occurrence = occurrence
return max_alphabet
result = find_max_occurred_alphabet
print("์ ๋ต = a ํ์ฌ ํ์ด ๊ฐ =", result("Hello my name is sparta"))
print("์ ๋ต = a ํ์ฌ ํ์ด ๊ฐ =", result("Sparta coding club"))
print("์ ๋ต = s ํ์ฌ ํ์ด ๊ฐ =", result("best of best sparta"))
๊ฐ ์ํ๋ฒณ์ ๋น๋์๋ฅผ alphabet_occurrence_list๋ผ๋ ๋ณ์์ ์ ์ฅ
๊ฐ ๋ฌธ์์ด์ ๋๋ฉด์ ํด๋น ๋ฌธ์๊ฐ ์ํ๋ฒณ์ธ์ง๋ฅผ ํ์ธ
์ํ๋ฒณ์ ์ธ๋ฑ์คํ ์์ผ ๊ฐ ์ํ๋ฒณ์ ๋น๋์๋ฅผ ์ ๋ฐ์ดํธ
์ํ๋ฒณ์ ๋น๋์๊ฐ ๊ฐ์ฅ ๋์ ์ธ๋ฑ์ค๋ฅผ ์์๋์ฃ
์ฌ๊ธฐ์ max_alphabet_index๊ฐ 0์ด๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค๋ฅผ ๋ฌธ์๋ก ๋ณ๊ฒฝํด์ผ ํจ!
์์คํค ์ฝ๋๋ฒํธ
๋ฅผ ์ค์ ๋ฌธ์
๋ก ๋ณํํ๋ ค๋ฉด chr()ํจ์๋ฅผ ์ฌ์ฉ
def find_max_occurred_alphabet(string):
alphabet_occurrence_array = [0] * 26
for char in string:
if not char.isalpha():
continue
arr_index = ord(char) - ord('a')
alphabet_occurrence_array[arr_index] += 1
max_occurrence = 0
max_alphabet_index = 0
for index in range(len(alphabet_occurrence_array)):
alphabet_occurrence = alphabet_occurrence_array[index]
if alphabet_occurrence > max_occurrence:
max_occurrence = alphabet_occurrence
max_alphabet_index = index
return chr(max_alphabet_index + ord('a'))
result = find_max_occurred_alphabet
print("์ ๋ต = a ํ์ฌ ํ์ด ๊ฐ =", result("Hello my name is sparta"))
print("์ ๋ต = a ํ์ฌ ํ์ด ๊ฐ =", result("Sparta coding club"))
print("์ ๋ต = s ํ์ฌ ํ์ด ๊ฐ =", result("best of best sparta"))