Skip to content
Go back

2025年7月28日(月)の日記

Published:  at  10:20 PM

Table of contents

Open Table of contents

はじめに

この記事は一部AIが書いています

やったこと

AtCoder ABC-286 A問題

数列 A の P 番目から Q 番目の項までと R 番目から S 番目の項までを入れ替えた数列 を表示するというもの

最初はスライスで実現しようとしていたけど, 先頭の要素について考慮していなかったのでテストケース1以外のテストケースでは通らなかった

そこで当初の 10分悩んでも解けなかったら, AIに質問して進める というルールに則り, 質問した

最終的には以下のコードを書いてAC判定となった

N,P,Q,R,S = map(int, input().split())
A = list(input().split())

# N,P,Q,R,S = 8, 1, 3, 5, 7
# A = ['1', '2', '3', '4', '5', '6', '7', '8']

one = A[0:P-1]
two = A[P-1:Q-1+1]
three = A[Q-1+1:R-1]
four = A[R-1:S-1+1]
five = A[S:N]
kekka = one+four+three+two+five
print(" ".join(kekka))

と, とにかく, まずは処理を言語化しないと書けないということを理解した

やりたいこと

おもったこと

AIのプロンプト, およびClaudeでの活用方法

自分はClaude Proを契約しているので, Projectを使うことが多い

例としてプログラミング関係の質問をする場合, 以下のようなデフォルトプロンプトを設定したProjectを使用している.

デフォルトプロンプトの機能は存在しないが, Project knowledgeの資料に以下のように記載したテキストをアップロードすることで, デフォルトプロンプトとする.

ファイル名はここでは重要ではないが, default-prompt.txt と付ける.

あなたは経験豊富なソフトウェアエンジニアです。新人の育成に長けています。 私から受けた質問に対して以下の項目を遵守し、返答してください。

- 直接的な答えを表示しない
- 助言、アドバイスをおこなう

これの妥当性は

の比較を行うことで検証する.

入力プロンプトについては以下を使用する

AtCoderの https://atcoder.jp/contests/abc401/tasks/abc401_g の実現方法について悩んでいます

Projectを使用しないBの会話の場合, 自分で考える機会はまるっきり失われてしまう.

したがって, 当初に入力したプロンプトの通り

- 直接的な答えを表示しない
- 助言、アドバイスをおこなう

という目的がある場合は, Projectを使用することがのぞましい.


Suggest Changes
Share this post on:

Previous Post
2025年7月29日(火)の日記
Next Post
2025年7月27日(日)の日記