[過去ログ] プログラミングのお題スレ Part13 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
547(11): 2019/03/08(金)00:35 ID:N66/0TP0(1/2)調 AAS
大文字小文字だけが異なる、ファイル名を見つける
入力
aB.txt
Ab.txt
xx
cd
cD
CD
出力
aB.txt : Ab.txt
cd : cD : CD
549: 2019/03/08(金)09:23 ID:iTwHpxzE(1)調 AAS
>>547 Squeak Smalltalk
| fn |
fn := [:arr |
| groups |
groups := arr groupBy: #asLowercase having: [:group | group size > 1].
groups values collect: #asArray
].
fn value: #('aB.txt' 'Ab.txt' 'xx' 'cd' 'cD' 'CD').
"=> #(('cd' 'cD' 'CD') ('aB.txt' 'Ab.txt')) "
550: 2019/03/08(金)09:47 ID:pv8HlopZ(1)調 AAS
>>547
それはWindowsとかでは試せないのでは?ディレクトリが違うならできるだろうけど。
(まあWindowsでもWSLでUbuntuとか動かせばできるが)
551(1): 547 2019/03/08(金)11:48 ID:N66/0TP0(2/2)調 AAS
同一フォルダ内での、大文字小文字だけが異なるファイル名は、Windows では作れないけど、
Linux では作れてしまうので、それをチェックする目的です
Linuxでも、こういうファイル名は作らない方がよい
564(1): 2019/03/08(金)21:55 ID:2owB+W9f(3/3)調 AAS
>>547 ruby
https://ideone.com/faTKf5
567(2): 547 2019/03/09(土)10:58 ID:GVs3bbIF(1)調 AAS
>>564
たった2行とは、素晴らしい!
JavaScript(JS)とか、関数型プログラミングだね
f(&:upcase), f(&:chomp)
関数型でも、こういうように呼ぶ関数名が明確にわかる点では、Ruby はJS をしのぐ!
漏れが以下で作ったけど、手続き型の処理で、10行以上も掛かったw
情けない
Ruby 初心者スレッド Part 65
2chスレ:tech
589: 2019/03/10(日)21:46 ID:KcIurEvX(2/4)調 AAS
>>547
Java
https://paiza.io/projects/2ff8V2wS29AjINHLm-bgYw?language=java
597: 2019/03/11(月)01:39 ID:+Nlo5Elt(1/2)調 AAS
>>547
Kotlin
https://paiza.io/projects/fxNs_pgfP7MwmXYp2xQ1YA
599: 2019/03/11(月)07:59 ID:hFtMxxmn(1)調 AAS
>>547 Perl5
https://ideone.com/Mbj5Hz
push @{$h{lc $_}}, $_ for <STDIN>;
print "@{$_}" for grep{@$_ > 1} values %h;
628: 2019/03/12(火)05:56 ID:KPetEW8/(1/4)調 AAS
>>547
Haskell
import Data.Char
main = (mapM_ print.filename) ["a","aB.txt","Ab.txt","xx","aBc.txt","cd","cD","CD","ab.txt","z"]
filename [] = []
filename (xs:xss)| length a > 1 = a:filename b
where
a = func (==)
b = func (/=)
func f = filter (f (map toUpper xs).map toUpper) (xs:xss)
filename (_:xss) = filename xss
634: 2019/03/12(火)21:03 ID:KPetEW8/(2/4)調 AAS
>>619
>>547に対して、ナチュラルソートされて無くても(普通のソートでも正しい答えが得られるとは限らない)正しい答えを出せるとか、出題者の意図を踏まえながら、意図を超えた範囲もカバーするのはいいんじゃ無いか?
意図を無視するのは論外だが。
665: 2019/03/14(木)15:56 ID:TPG8S2ma(2/2)調 AAS
>>547
Haskell
内包表記の方が何をやってるか分かり易いと気付いて書き換えた。
import Data.Char
main = (mapM_ print.filename) ["aB.txt","Ab.txt","xx","cd","cD","CD","ab.txt"]
filename [] = []
filename (xs:xss)| length a > 1 = a:filename b
where
a = func (==)
b = func (/=)
func f = [xs' | xs' <- (xs:xss), map toLower xs `f` map toLower xs']
filename (_:xss) = filename xss
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.044s