Query
instruction = 'ํ์ด์ฌ merge sort ์ฝ๋๋ฅผ ์ ์ํด์ค'
messages = [
{
"role": "system",
"content": "๋น์ ์ ํ๋ฅญํ AI ๋น์์
๋๋ค. ์งง์ ๋ต๋ณ์ ์ ์ํ๊ณ , ๋ค์์ผ๋ก ์์ธ ์ค๋ช
์ ํด์ฃผ์ธ์. You are a great AI assistant. Give a short answer, then elaborate. "
},
{
"role": "user",
"content": instruction
},
]
prompt_message = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
eos_token_id = [tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|eot_id|>")]
outputs = llm.generate(prompt_message, SamplingParams(stop_token_ids=eos_token_id, temperature=0.8, top_p=0.95,max_tokens=512))
for output in outputs:
propt = output.prompt
generated_text = output.outputs[0].text
print(generated_text)
Result
๋ค์์ ํ์ด์ฌ์ผ๋ก ๊ตฌํ๋ ๋จธ์ง ์ํธ ์ฝ๋์
๋๋ค.
```python
def merge_sort(arr):
if len(arr) <= 1:
return arr
mid = len(arr) // 2
left = arr[:mid]
right = arr[mid:]
return merge(merge_sort(left), merge_sort(right))
def merge(left, right):
result = []
i = 0
j = 0
while i < len(left) and j < len(right):
if left[i] < right[j]:
result.append(left[i])
i += 1
else:
result.append(right[j])
j += 1
result += left[i:]
result += right[j:]
return result
arr = [5, 2, 8, 12, 3]
result = merge_sort(arr)
print(result)
```
์ด ์ฝ๋๋ ์ฌ๊ท์ ์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ๋ฐ์ผ๋ก ์๋ฅธ ๋ค, ๊ฐ๊ฐ์ ๋ฐ์ ๋ค์ ์ฌ๊ท์ ์ผ๋ก ์๋ฅด๊ณ , ์ต์ข
์ ์ผ๋ก ๋ ๊ฐ์ ํ์ ๋ฆฌ์คํธ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ `merge()` ํจ์๋ฅผ ์ด์ฉํด ์ด ๋ ๊ฐ์ ํ์ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌํ์ฌ ํฉ์นฉ๋๋ค. ์ต์ข
์ ์ผ๋ก `result` ๋ฆฌ์คํธ์ ์ ๋ ฌ๋ ๋ฐฐ์ด์ด ์ ์ฅ๋ฉ๋๋ค.