プログラミングのお題スレ Part22

1デフォルトの名無しさん
垢版 |
2023/08/03(木) 13:52:13.20ID:/xW45k0z
プログラミングのお題スレです。

【出題と回答例】
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/
2デフォルトの名無しさん
垢版 |
2023/08/03(木) 14:04:23.10ID:Lr04Zjag
>>1
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.
4デフォルトの名無しさん
垢版 |
2023/08/06(日) 17:47:37.64ID:RhhSFLLO
>>3
Kotlin
https://paiza.io/projects/cmJpXwaAhFH6jYozb0bb2g
5デフォルトの名無しさん
垢版 |
2023/08/06(日) 18:08:09.04ID:RhhSFLLO
>>3
C
https://paiza.io/projects/McLPuKlM4c-1C9EgarDGjw
2023/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");
 }
}
7デフォルトの名無しさん
垢版 |
2023/08/06(日) 20:04:54.35ID:pJXl8PQk
>>3
R
https://ideone.com/ZdKsPa
8デフォルトの名無しさん
垢版 |
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.
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 '';

実行結果は今回のテストデータだとたまたま同じ結果になる。
2023/08/07(月) 09:39:33.60ID:3KYy8N/l
>>8
Rustでは?
12デフォルトの名無しさん
垢版 |
2023/08/07(月) 19:28:19.42ID:dolrRGoi
>>11
言われてみればRustに見えるな。
Rustは趣味で学習始めたばかりでよく分からなかった。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況