けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

文字列操作:indexアクセス

AtCoder ABC 389 A - 9x9 (8Q, 灰色, 100 点)

完全既出は珍しい! 問題へのリンク 問題概要 "6x4" のような、「一桁かける一桁」の計算を表す 3 文字の文字列 が与えられる。この計算結果を求めよ。 考えたこと この問題と完全に同じですね。 drken1215.hatenablog.com コード #include <bits/stdc++.h> using namespace</bits/stdc++.h>…

AtCoder ABC 257 A - A to Z String 2 (6Q, 灰色, 100 点)

文字列のいい感じの問題! 問題へのリンク 問題概要 文字 'A' を 個、'B' を 個、…、'Z' を 個、この順に繋げて得られる文字列の先頭から 番目の文字を求めてください。 制約 考えたこと 実際に文字列を作り、その 番目にアクセスすればよい。 実際に文字列…

AtCoder ABC 254 A - Last Two Digits (8Q, 灰色, 100 点)

整数として扱っても解けるけど、文字列として処理するのが楽だと思う! 問題へのリンク 問題概要 100 以上の 3 桁の整数 が与えられるので、 の下二桁を出力せよ。 解法 3 桁の整数値を文字列 N として入力を受け取ろう。たとえば、459 という整数は、"459" …

AtCoder ABC 247 A - Move Right (8Q, 灰色, 100 点)

上手に解釈して問題を解こう! 問題へのリンク 問題概要 0 と 1 のみからなる長さ 4 の文字列 が与えられる。この文字列は、4 マスからなる各マスに人がいるかどうかを表す。 はそのマスに人がいることを表し、 は人がいないことを表す。 今、人がみな右へ移…

AtCoder ABC 236 A - chukodai (8Q, 灰色, 100 点)

文字列の index アクセスと、操作 swap をする問題 問題へのリンク 問題概要 英小文字からなる文字列 が与えられる。 の 文字目と 文字目を sawp して得られる文字列を答えよ。 解法 文字列 S の a 文字目は S[a-1] で取得できる。b 文字目は S[b-1] で取得…

AtCoder ABC 232 A - QQ solver (8Q, 灰色, 100 点)

構文解析の基本問題 問題へのリンク 問題概要 "6x4" のような、3 文字の文字列 が与えられる。この計算結果を求めよ。 解法 1 個目の整数値は文字 S[0] を読み取ればよい。これを整数値にするためには、C++ では次のように書ける。 int a = S[0] - '0'; 2 個…

AtCoder ABC 226 A - Round decimals (7Q, 灰色, 100 点)

色んな方法がありそう! 問題へのリンク 問題概要 0 以上 100 未満の小数第三位までで表すことのできる実数 が、小数第三位まで入力されます。 を小数第一位で四捨五入した結果として得られる整数を出力してください。 考えたこと C++ で解く場合、入力は ci…

AtCoder ABC 224 A - Tires (8Q, 灰色, 100 点)

文字列を上手に使う練習 問題へのリンク 問題概要 末尾が "er" か "ist" であるような文字列 (2 文字以上) が与えられます。 どちらであるかを判定してください。 解法 末尾が "er" であるかどうかを判定することにしよう。文字列 S の長さを N とするとき、…

AtCoder ABC 218 A - Weather Forecast (8Q, 灰色, 100 点)

まさに「文字列の index アクセス」を練習できる問題! 問題へのリンク 問題概要 7 文字の文字列 が与えられる。この文字列は 'o' と 'x' のみからなる。 この文字列の 番目の文字が 'o' であるならば "Yes"、そうでなければ "No" と答えよ。 解法 多くのプ…

AtCoder ABC 187 A - Large Digits (7Q, 灰色, 100 点)

文字列として処理した方が楽。 問題へのリンク 問題概要 3 桁の正の整数 が与えられる。これらの整数の桁和の最大値を求めよ。 制約 整数 はそれぞれ文字列として受け取った方が楽だと思われる。そうすると、 たとえば、3 桁の整数を表す文字列 A について …

AtCoder ABC 160 A - Coffee (8Q, 灰色, 100 点)

文字列の index アクセスと、論理演算子「&&」の理解を問う問題。 問題へのリンク 問題概要 長さ 6 の文字列が "coffee" 的であるとは、 3 文字目と 4 文字目が等しい 5 文字目と 6 文字目が等しい という条件をともに満たすことを言います。 与えられた長さ…

AtCodewr ABC 126 A - Changing a Character (8Q, 灰色, 100 点)

大文字小文字の扱いを考える。 問題へのリンク 問題概要 文字 'A'、'B'、'C' のみからなる長さ の文字列 が与えられる。 この文字列の 文字目を小文字にした文字列を出力せよ。 解法 文字目は S[K-1] と表せる。 文字 S[K-1] が 'A', 'B', 'C' のいずれかで…

AtCoder ABC 335 A - 202<s>3</s> (9Q, 灰色, 100 点)

ここのところ、結構易しめの A 問題が続いているね! 問題へのリンク 問題概要 "hello2023" のように、"2023" で終わる文字列 が与えられる。 末尾の文字を '4' に変更して出力せよ。 解法 C++ では、文字列 の末尾の文字は S.back() でアクセスできる。 #in…

AtCoder ABC 090 A - Diagonal String (灰色, 100 点)

文字列の扱いに慣れよう! 問題へのリンク 問題概要 の形に並べられた文字盤が与えられる。この文字盤の対角線上の文字を並べて得られる 3 文字の文字列を答えよ。 解法 入力を 3 つの文字列としてうけとり、それぞれの 0 文字目、1 文字目、2 文字目を答え…

AtCoder ABC 085 A - Already 2018 (灰色, 100 点)

実務をやっていると汎用性など考えたくなるけど、これは入力が限定されているので、「特定の文字を変える」だけで OK! 問題へのリンク 問題概要 2017 年の日付が "2017/01/19" などと与えられる。 これを "2018/01/19" のように、2018 年の日付に変換せよ。…

AtCoder ABC 051 A - Haiku (8Q, 灰色, 100 点)

文字列から "," を取り除く問題 問題へのリンク 問題概要 文字列 が与えられる。 は 19 文字であり、6 文字目と 14 文字目が ',' であることが保証される。 ',' を空白文字 ' ' に置き換えて得られる文字列を出力せよ。 たとえば、"haiku,atcoder,tasks" は …

AtCoder ABC 048 A - AtCoder *** Contest (9Q, 灰色, 100 点)

文字列の標準入力と、先頭の文字がわかっていれば解ける系 問題へのリンク 問題概要 "AtCoder s Contest" という形の文字列 が与えられる (s の部分は任意)。 たとえば、"AtCoder Beginner Contest" のような文字列が与えられる。これを "ABC" のように略し…