[BOJ]2810号:カップフレーム
✔️ 質問する
10年ぶりに山河が変わる.
江山のある団地にやっと劇場ができて、江山は劇場に遊びに行きました.売店でコーラを買った後、席に座っていた江山は混乱に陥った.両側のコップポットはすでに隣の人に占領されているので、コーラを挿すことができるコップポットはありません.映画を見ているうちにコーラを手にした江山が再び劇場に来た時、コーラを必ずカップ棚に置いて帰ると決心した.
劇場の一列にはN席がある.隣の席の間にはコップ棚があり、両端の席にはコップ棚があります.また、この劇場にはカップル席もあります.カップル席の間にはカップマットがありません.
劇場のメッセージが与えられた.このとき、人々がこの列に座っているときは、コップをカップフレームに挿入できる最大人数を求めるプログラムを作成してください.誰もがコップを作っていて、自分の席の両側のコップ棚にコップを差し込むしかありません.
Sは普通席、Lはカップル席、Lはいつもペアで2つあげます.
座席のレイアウトがSLLLSSLLの場合、以下に示すように、カップハンドルを*としてマークします.
[入力]
1列目にはN席あります.(1≦N≦50)2行目は座席情報を提供する.
[出力]
出力はカップをカップ棚に置くことができる最大人数です.
😎 ソースコード
問題を左右の変数で解くといいです.しかし少し考えてみると、すべての席の両側にカップマットが使われていて、カップル席だけが真ん中を空けることができます.そこで,すべての位置にカップ穴が配置されていると仮定し,Lの個数を算出し,半分の方向で考える.
でも思いもよらなかった部分は…!!カップフレームの利用可能数は人より多い.これは例外処理コードで記述されています.
10年ぶりに山河が変わる.
江山のある団地にやっと劇場ができて、江山は劇場に遊びに行きました.売店でコーラを買った後、席に座っていた江山は混乱に陥った.両側のコップポットはすでに隣の人に占領されているので、コーラを挿すことができるコップポットはありません.映画を見ているうちにコーラを手にした江山が再び劇場に来た時、コーラを必ずカップ棚に置いて帰ると決心した.
劇場の一列にはN席がある.隣の席の間にはコップ棚があり、両端の席にはコップ棚があります.また、この劇場にはカップル席もあります.カップル席の間にはカップマットがありません.
劇場のメッセージが与えられた.このとき、人々がこの列に座っているときは、コップをカップフレームに挿入できる最大人数を求めるプログラムを作成してください.誰もがコップを作っていて、自分の席の両側のコップ棚にコップを差し込むしかありません.
Sは普通席、Lはカップル席、Lはいつもペアで2つあげます.
座席のレイアウトがSLLLSSLLの場合、以下に示すように、カップハンドルを*としてマークします.
*S*LL*LL*S*S*LL*
上記の例では、少なくとも2人はカップマットを使用できない.[入力]
1列目にはN席あります.(1≦N≦50)2行目は座席情報を提供する.
[出力]
出力はカップをカップ棚に置くことができる最大人数です.
😎 ソースコード
N = int(input())
seat = input()
answer = 0
couple = 0
for ppl in seat:
# L의 개수 확인
if ppl == 'L':
couple += 1
# L 자리만 컵홀더 하나 빼주면 된다
answer = N+1-int(couple/2)
if answer > N:
# 컵홀더 사용 자리보다 사람이 적음
answer = N
print(answer)
問題が終わったら問題を左右の変数で解くといいです.しかし少し考えてみると、すべての席の両側にカップマットが使われていて、カップル席だけが真ん中を空けることができます.そこで,すべての位置にカップ穴が配置されていると仮定し,Lの個数を算出し,半分の方向で考える.
でも思いもよらなかった部分は…!!カップフレームの利用可能数は人より多い.これは例外処理コードで記述されています.
Reference
この問題について([BOJ]2810号:カップフレーム), 我々は、より多くの情報をここで見つけました https://velog.io/@rany/BOJ-2810번-컵홀더テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol