プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part21
https://mevius.5ch.net/test/read.cgi/tech/1668333636/
探検
プログラミングのお題スレ Part22
1デフォルトの名無しさん
2023/08/03(木) 13:52:13.20ID:/xW45k0z2デフォルトの名無しさん
2023/08/03(木) 14:04:23.10ID:Lr04Zjag >>1
O2
O2
3デフォルトの名無しさん
2023/08/06(日) 12:21:14.08ID:/9zIb/V0 お題
1行につき一つの文章が入力されます
アルファベット26文字がすべて含まれている文章をフィルタリングしてください
大文字小文字は区別しません
そのうちもっとも短い文章を出力してください
入力
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.
出力
Jackdaws love my big sphinx of quartz.
1行につき一つの文章が入力されます
アルファベット26文字がすべて含まれている文章をフィルタリングしてください
大文字小文字は区別しません
そのうちもっとも短い文章を出力してください
入力
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.
出力
Jackdaws love my big sphinx of quartz.
4デフォルトの名無しさん
2023/08/06(日) 17:47:37.64ID:RhhSFLLO5デフォルトの名無しさん
2023/08/06(日) 18:08:09.04ID:RhhSFLLO2023/08/06(日) 19:07:03.27ID:Md+pNxjw
use std::io::{self, BufRead, BufReader};
const FULL_BITS: u32 = (1 << 26) - 1;
fn main() {
let mut shortest: Option<String> = None;
for line in BufReader::new(io::stdin()).lines() {
let line = line.unwrap();
let mut bits = 0;
for b in line.as_bytes() {
let index = match b {
b'A'..=b'Z' => b - b'A',
b'a'..=b'z' => b - b'a',
_ => continue,
};
bits |= 1 << index;
}
if bits != FULL_BITS {
continue;
}
if let Some(ref shortest) = shortest {
if shortest.len() < line.len() {
continue;
}
}
shortest = Some(line);
}
if let Some(shortest) = shortest {
println!("{shortest}");
} else {
eprintln!("ERROR: no matched lines");
}
}
const FULL_BITS: u32 = (1 << 26) - 1;
fn main() {
let mut shortest: Option<String> = None;
for line in BufReader::new(io::stdin()).lines() {
let line = line.unwrap();
let mut bits = 0;
for b in line.as_bytes() {
let index = match b {
b'A'..=b'Z' => b - b'A',
b'a'..=b'z' => b - b'a',
_ => continue,
};
bits |= 1 << index;
}
if bits != FULL_BITS {
continue;
}
if let Some(ref shortest) = shortest {
if shortest.len() < line.len() {
continue;
}
}
shortest = Some(line);
}
if let Some(shortest) = shortest {
println!("{shortest}");
} else {
eprintln!("ERROR: no matched lines");
}
}
7デフォルトの名無しさん
2023/08/06(日) 20:04:54.35ID:pJXl8PQk8デフォルトの名無しさん
2023/08/07(月) 01:25:47.55ID:dolrRGoi >>6
それなんて言語?
それなんて言語?
99
2023/08/07(月) 01:46:18.23ID:PMO8D1QO >>3 Perl5
for (<DATA>) {
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
push @a, $_ if 26 == keys %h;
}
@s = sort{length($a) <=> length($b)} @a;
print $s[0];
__DATA__
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.
※ 見易くするためインデントを全角スペースに置換してあります。
実行結果:
$ perl 22_3_az26.pl
Jackdaws love my big sphinx of quartz.
for (<DATA>) {
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
push @a, $_ if 26 == keys %h;
}
@s = sort{length($a) <=> length($b)} @a;
print $s[0];
__DATA__
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.
※ 見易くするためインデントを全角スペースに置換してあります。
実行結果:
$ perl 22_3_az26.pl
Jackdaws love my big sphinx of quartz.
2023/08/07(月) 01:57:03.56ID:PMO8D1QO
>>9 ゴメン、2行目に間違いあり…orz
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
↓正しくは
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
実行結果は今回のテストデータだとたまたま同じ結果になる。
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
↓正しくは
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
実行結果は今回のテストデータだとたまたま同じ結果になる。
2023/08/07(月) 09:39:33.60ID:3KYy8N/l
>>8
Rustでは?
Rustでは?
12デフォルトの名無しさん
2023/08/07(月) 19:28:19.42ID:dolrRGoi2023/08/07(月) 20:51:54.50ID:ZWV0+Q1Z
14デフォルトの名無しさん
2023/08/08(火) 16:30:48.37ID:mHXT/QMM >>10 2行目はもっと簡潔に書ける
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
↓
my %h = map{lc $_ => 1} /([A-Za-z])/g;
結局、これでよい筈
for (<DATA>) {
my %h = map{lc $_ => 1} /([A-Za-z])/g;
push @a, $_ if 26 == keys %h;
}
@s = sort{length $a <=> length $b} @a;
print $s[0];
__DATA__
… (ry
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
↓
my %h = map{lc $_ => 1} /([A-Za-z])/g;
結局、これでよい筈
for (<DATA>) {
my %h = map{lc $_ => 1} /([A-Za-z])/g;
push @a, $_ if 26 == keys %h;
}
@s = sort{length $a <=> length $b} @a;
print $s[0];
__DATA__
… (ry
レスを投稿する
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で-福岡市 ★2 [蚤の市★]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 高市の放漫財政が原因で日本国債大暴落!!!ザイム真理教崩壊へ!!! [252835186]
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
- 【悲報】ジャップってどの面下げて来年以降、戦没者追悼式典やる気なの🤔 [616817505]
- んなっしょい🍬禁止🈲のお🏡
